I completely agree with your perspective on the evolution of front-end development within the Ruby on Rails ecosystem. In the early days, integrating rich front-end interactions was indeed a challenge, and tools like RailsUJS and Turbolinks had limitations that often led to frustration. However, with the introduction of Stimulus and Turbo, Rails has significantly improved its capabilities for handling complex front-end interactions without the need for heavy JavaScript frameworks. The combination of Turbo Streams, Frames, and Stimulus has made it possible to create dynamic, real-time applications while maintaining the simplicity and maintainability of the Rails stack.
As you mentioned, for many small to medium-sized companies, the use of a frontend framework like React or Vue can add unnecessary complexity and hinder development speed, especially when Rails itself provides the tools needed to create sophisticated applications. For developers building hybrid apps—those that combine native and web technologies—these frameworks can seem like overkill, adding unnecessary overhead when simpler solutions like Turbo and Stimulus are sufficient. This approach also aligns well with mobile app development strategies, where leveraging web technologies within hybrid apps can streamline the process and reduce the need for separate mobile-native codebases.
The approach of sticking with the "Rails Way"—leveraging Turbo and Stimulus—feels like a more efficient and sustainable solution for most use cases today. It’s great to see how the Rails community has embraced these innovations, and it’s clear that, for many developers, this new approach offers a compelling alternative to traditional front-end frameworks for building hybrid apps.