Don't sleep on Ruby & Rails (Changelog Interviews #521)
Jan 6, 2023
auto_awesome
Justin Searls, a web developer, discusses the state of web development and the use of Turbo and Stimulus in Rails 7. They explore the productivity in Rails 7, the future of Ruby on Rails, and the benefits of using Turbo and Stimulus. They also touch on the differences between React and Stimulus, trade-offs in software development, and the nostalgia and joy of Ruby.
Ruby on Rails, along with Turbo and Stimulus, provides a practical and efficient solution for web development without the need for a full-fledged single-page application framework like React.
Developers should adopt a pragmatic approach and evaluate the practicality and long-term viability of new technologies, rather than chasing cool and adopting them without considering their suitability.
While JavaScript and React have driven innovation in web development, it is important to not overlook other mature and stable technologies like Ruby on Rails, and evaluate different tools based on project requirements.
Deep dives
Ruby on Rails and the State of Web Development
Ruby on Rails, along with Turbo and Stimulus, offers a practical and productive solution for web development. These tools provide a way to build dynamic and interactive user interfaces without the need for a full-fledged single-page application framework like React. By leveraging the unidirectional data flow and declarative nature of Stimulus and the HTML over the wire approach of Turbo, developers can build functional and performant applications with minimal JavaScript dependencies. While there may be cases where a separate API is needed for multi-client scenarios, the majority of businesses can benefit from the simplicity and efficiency of using Ruby on Rails, Turbo, and Stimulus.
The Pragmatic Approach of Rails and the Allure of Chasing Cool
One reason for the regression in the industry is the tendency to chase cool and adopt new technologies without considering their practicality or long-term viability. Often, developers are influenced by the hype around certain frameworks or tools, causing them to overlook more stable and capable solutions. This chasing cool mentality can lead to unnecessary complexity and a bloated tech stack. Instead, using a pragmatic approach and focusing on the problem at hand can yield better results. By leveraging the reliable and well-established tools in the Ruby on Rails ecosystem, developers can build efficient and scalable applications without succumbing to the pressure of chasing the latest trends.
The Importance of React and JavaScript Ecosystem
JavaScript and React have played a vital role in the web development landscape, driving innovation and enabling rich user experiences. However, it's important not to overlook other mature and stable technologies, such as Ruby on Rails. While Ruby on Rails may not be considered the trendiest option, it offers a practical and proven solution for building web applications. It's essential for developers to look beyond the hype and evaluate the suitability of different technologies based on the specific requirements of their projects. By considering a diverse range of tools and frameworks, developers can make informed decisions and choose the right tools for the job.
Balancing Progress and Stability in the Software Industry
The software industry can seem cyclical, with periods of rapid innovation followed by a return to more stable and well-established approaches. However, it's crucial to find a balance between progress and stability. While it's exciting to explore new technologies and frameworks, it's equally important to consider their practicality and long-term impact. By focusing on the needs of the project and the problem at hand, developers can make pragmatic choices that prioritize functionality and efficiency. This approach allows for continuous learning and improvement, while avoiding unnecessary complexity and chasing after fleeting trends.
The Strengths of Ruby and Rails
Ruby and Rails are powerful tools that prioritize programmer happiness and productivity. They offer ease of use, minimal syntax, and built-in features that enhance developer experience. Ruby 3's advancements, such as improved REPL and debugger tools, have made the language more modern and efficient. While Ruby's popularity may have waned in the West, it continues to thrive in countries like Japan. To reignite enthusiasm for Ruby, it is important to highlight its strengths, celebrate its productivity, and encourage developers to share their experiences through blogs and other platforms.
Rails' Asset Loading and Advancements in Ruby
Rails now offers two main approaches for asset loading. The first is targeted towards modern browsers supporting import maps, eliminating the need for bundling dependencies. The second approach involves using first-class gems that Rails will bundle automatically. Yes build is a powerful asset bundler that handles configuration seamlessly, making the process easier and faster. The recent advancements in Ruby, such as the abstract syntax tree module and improved REPL and debugger tools, have further enhanced the language's productivity and ease of use. However, it is crucial to continue promoting Ruby's benefits and sharing its new features to prevent declining interest in the language.
Welcome to 2023 — we’re kicking off the year talking to Justin Searls about the state of web development and why he just might write a “You Might Not Need React” post. He’s been so productive using Turbo and Stimulus (and tailwind) in Rails 7 that we had to talk about the state of Rails development today and a bunch of other fun topics around building for the web in 2023.
Changelog++ members get a bonus 16 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Sentry – Working code means happy customers. That’s exactly why teams choose Sentry. From error tracking to performance monitoring, Sentry helps teams see what actually matters, resolve problems quicker, and learn continuously about their applications - from the frontend to the backend. Use the code CHANGELOG and get the team plan free for three months.
Square – Develop on the platform that sellers trust. There is a massive opportunity for developers to support Square sellers by building apps for today’s business needs. Learn more at changelog.com/square to dive into the docs, APIs, SDKs and to create your Square Developer account — tell them Changelog sent you.