In principle, JavaScript is a very dynamic and interactive programming language. However, that has changed significantly in recent years. Now, modern web development requires extensive build and compilation steps. That is unfortunate for two reasons. First, it makes development less pleasant. Second, it makes web development harder to learn. This blog post covers ideas and tools for easing some of the pain of building.
Quick refresher – in the context of this blog post:
The reason why there are so many build steps in modern web development is that they bring lots of benefits. They have advanced the status quo. These are a few examples:
So how do we get both: the benefits of building and a quick turn-around during development?
These are a few ideas:
Some tools offer a hybrid approach: compile dynamically at development time, compile statically for deployment. For example:
Having ES modules in browsers already helps with building less. In the future, I’m looking forward to ideas for making web development not just more powerful, but also more interactive and dynamic.
For teaching web development to non-programmers, I’d like to introduce features incrementally: First HTML, then CSS, then JavaScript, then the DOM, then frameworks, etc. It helps if build tools can be introduced as late as possible, if newcomers can be productive without them (or if they become as invisible as possible).