It's tedious because at the moment there are no reusable components you can easily use shared somewhere.
In fact the web browsers themselves implement these "components" using shadow DOM, so when you're writing something like this:
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
you are actually accessing the shadow DOM and internally everything is implemented natively with "tedious" amount of code. Basically the
<video> tag is an abstraction that's exposed to regular users and while most people think that's a primitive component it's actually built on top of other low level technologies. See here for more https://www.webcomponents.org/community/articles/introduction-to-shadow-dom
Same holds for Jasonette, I think it's a bad idea to create all these components that can be built by composing other primitive components. It should work similarly to how web browsers use shadow DOM to implement many high level nodes like the
<video> tag. With Jasonette you can use mixins to create reusable components, not so different from how the web browser implements
And going even further, I actually think having these default tags built into the "browser" is a bad idea. We only have them because that's how browsers started, but if you look at how people build websites nowadays, most people don't use the default radio buttons, default select boxes, etc. I think a better approach is to have a limited set of primitive components and let people compose them to build larger sophisticated components via mixins. And instead of making these "officlal" components people should be able to pick and choose what they want, just like what people do with
select2 (3rd party and not built into the browser) or
codemirror (also 3rd party and not built into the browser).
That said, all this means nothing if there's no way to easily share these components, try them out and use them, so I do want to come up with a way to let people share the components they create, so for most people it would be just a matter of copy and pasting or linking to these existing mixins..
But the problem is without a web counterpart, the impact will be really small since people can't visualize what each component looks like. And this is why I've been so laser focused on working on the web part.
As for the question about the
back button, you can process everything before calling a
back automatically detects whether the current view was opened as a modal or as a push transition and goes back one step accordingly.
Here's an example you can try out https://jasonbase.com/things/1jl7/edit