7 comments

[ 2.8 ms ] story [ 28.6 ms ] thread
What's the advantage of this over using JSX? You can already go JSX->virtual-dom https://www.npmjs.com/package/virtual-dom-jsx, and the fact that it's "vanilla" JS doesn't mean much as it's ES6 which needs Babel.
One less dependency is always a good thing. The fact that template strings are part of the standard is a big advantage; any current or future tools that support ES6 will automatically support your templates as well.
> One less dependency is always a good thing

I think the parent's point is that to use template strings today one would have to use Babel, which already supports JSX. Thus the number of dependencies is the same in all scenarios: Babel + virtual-dom, or Babel + T7.

That's not necessarily true with Babel 6. The new modular approach requires that you explicitly list which plugins you want Babel to use. So for JSX, you'd need to have `babel-plugin-syntax-jsx` as a dependency.
I'll probably stick with JSX, but it's nice to have different options if you don't want to be locked into using the React virtual DOM.
This is fantastic! I tried to make something similar a few months ago and couldn't quite get it to work.