Honest reflections on the frontend revolution Rails needed
Hotwire is DHH's most important contribution since Rails itself, and I do not think that is an exaggeration. For over a decade, the Rails community struggled with the frontend question. Sprockets, then Webpacker, then importmap. jQuery, then Angular, then React, then Vue. Every few years a new JavaScript framework became the "right" way to build frontends with Rails, and every few years Rails developers had to learn an entirely new ecosystem that had nothing to do with their expertise.
Hotwire ends that cycle. Not by being better JavaScript, but by removing the need for most of it.
The JavaScript fatigue era is ending, and Rails is on the right side of history. When Turbo and Stimulus shipped, plenty of people dismissed them as toys. "You cannot build real apps without React." "Users expect SPA-level interactivity." Two years later, Basecamp, HEY, and hundreds of production applications proved that wrong. You can build rich, interactive applications with server-rendered HTML and sprinkles of JavaScript. Not every application -- but most.
The industry overcorrected toward client-side rendering, and Hotwire is the correction back.
Turbo Streams feel like cheating, in the best possible way. Broadcasting a partial update to every connected client with three lines of code. Replacing a DOM element from a background job. Appending to a list without writing any JavaScript. The first time you build a real-time feature with Turbo Streams after years of wrestling with Action Cable or polling, you will wonder why you ever did it the hard way.
But I have to be honest about limitations. Hotwire is not enough for everything. Highly interactive UIs -- drag-and-drop interfaces, real-time collaborative editing, complex data visualizations -- still need JavaScript. Offline-first applications still need a service worker and client-side state. The danger is becoming dogmatic about Hotwire the way people were dogmatic about SPAs. It is a tool, not a religion. Know when it fits and when it does not.
Conclusion #
Hotwire gives Rails developers something they have not had since the early days: a coherent, integrated frontend story. For your career, this is strategic -- companies are increasingly choosing Hotwire over React for Rails apps, and developers who are fluent in both the backend and the Hotwire frontend are rare and valuable.
Predictions #
-
You will convert at least one feature from JavaScript to Turbo Streams and delete 80% of the code
-
Stimulus will become your default for interactive behavior, replacing jQuery patterns you may still carry
-
You will hit Hotwire's limits on at least one feature and reach for a JavaScript library -- and that is the correct decision
-
Hotwire fluency will become a differentiator in Rails job interviews within the next year
-
You will enjoy frontend work for the first time in years, because Hotwire makes it feel like Rails again