Frameworks and tooling
How do you deploy them? What does this look like for Blink + Babel, frameworks? We've got
nomodule coming. This looks like:
<script type="module" src="app.js"></script> <script nomodule defer src="bundle.js"></script>
Is it realistic for someone to deploy code this way by the end of 2017? What are the benefits of doing so? Are there any?
If Blink optimises modules, is the best-case that they're still only as fast as ES5
<script>? If not, is
nomodule even useful?
What if we think about it as
nomodule bundle is your transpiled 'legacy' bundle for older browsers? Maybe that becomes more useful.
<script type="module" src="app.js"> is your raw ES2015+ code in ES module format and your legacy bundle contains transpiled
ES2015. The trickiness here is ensuring the browsers hitting the
type=module path have a complete implementation, but a partial one.
TIL Safari has already implemented
nomodule in addition to their
import() and modules support.
There's also a discussion to be had around what all of this even means for components you're writing that are distributed through npm.
What do we need to do to make this a thing in 2017? Usage numbers growing, but it would be great if more people shipped only transpiled features that were needed. Modern browsers have pretty good support otherwise. Anything we can do to bake these in to [framework]-cli for each framework?