Embracing Simplicity: The No-Build Revolution in Rails
For the first time since the 2000s, building Rails applications without any form of real build steps on the front-end has become a viable and efficient approach. With vanilla ES6, import maps for Hotwire, and vanilla CSS with nesting and variables, we can create modern web applications that are both simple and fast.
The Speed of No Build
When we talk about build speed in modern web development, nothing can beat the instant nature of no-build approaches. With HTTP/2 and universal support for import maps, we can avoid bundling entirely while maintaining excellent performance.
Modern Web Development Without Complexity
The state of the art is no longer about finding more sophisticated ways to build JavaScript or CSS. Instead, it’s about:
- Leveraging HTTP/2 capabilities
- Using universal import maps support
- Taking advantage of modern JavaScript features
- Utilizing native CSS capabilities like nesting and variables
Why Consider No-Build?
- Instant Development
- No waiting for builds
- Immediate feedback loop
- Simplified debugging
- Reduced Complexity
- Fewer dependencies
- No build configuration
- Straightforward deployment
- Modern Features Without Transpilation
- Native ES6+ support
- Modern CSS capabilities
- Browser-native modules
If you’re not tied to frameworks like React or Vue, exploring what’s possible with Hotwire and a no-build approach might surprise you with its simplicity and efficiency.
The Rails Perspective
This approach aligns perfectly with Rails’ philosophy of convention over configuration and simplicity over complexity. With tools like import maps built into Rails and the new Propshaft asset pipeline, we can create modern, responsive applications without the overhead of complex build systems.
Technologies mentioned:
- Ruby on Rails
- Import Maps
- Hotwire
- Propshaft
- HTTP/2
- ES6+ JavaScript
- Modern CSS (variables, nesting)
This article is inspired by DHH’s post “You can’t get faster than No Build” and reflects the modern Rails development approach.