In this talk, I'd go through the Evolution of JavaScript build tools, their features of most javascript build tools and what we should be expecting in the future from build tools.
6. Problems of the First Bundlers, why
they weren't perfect
• Dojo Builder: Heavy, relies on java, poor
documentation.
• Google Closure Compiler: proprietary, requires
java, compile time is slow, poor developer
experience.
7. 2010-2012: Gulp and Grunt
• First try to standardise and build reusable pipelines
on top of plugins.
• Gave developers freedom to write their own build
scripts.
• Plugins were available for basic tasks.
8. 2012: Babel
• Converts es6 syntax to CommonJS.
• Support for older browsers.
• Allowed developers build custom
plugins for their needs.
12. Rollup
• Module Bundler for Javascript
• Easier to learn
• Fast Build
• Code Splitting
• Less and easier config compared
to webpack
• Perfect for libraries
13. Parcel
• Zero Configuration - Just Install!
• Faster bundle time.
• multi-core processing.
• Plugins are not necessarily
needed.
• Awesome DX .
14. Snowpack
• No bundling during development.
• Instant rebuilds on save (Nothing to
rebundle!).
• Faster build tool.
• out of the box support for TypeScript, JSX,
CSS Modules etc.
15. esbuild
• Still experimental
• Written in Go
• Main aim of the project is to
prove how fast javascript build
tools can be.
16. es-dev-server
• A web server for development
without bundling by open-wc
• Efficient browser caching for fast
reloads
• Plugins
• Typescript support without any
extra tooling or plugins.
17. Vite
• By the creator of VueJS
• PostCSS config out of the box
• build tool that serves your code
via native ES Module imports.
• Instant hot module replacement
• TS & JSX support out of the box
handled via esbuild
• Code is compiled on demand
• Uses Rollup for production build
19. Bundling free approaches
(runtime import systems)
• ES Modules.
• An Example is Snowpack.
• Not so much in use yet.
• Lightning fast build and deploy
times.⚡
20. In the future we would be seeing tools with:
• no configuration
• better customizability
• extensibility
• faster speed.
Conclusion