Simplifying Web Development with Ruby on Rails
Ruby on Rails has long been one of the most popular frameworks for a team that needs to build a SAAS project fast and prioritize the developer experience. Some of the most successful ground-up services we use today started as Ruby on Rails projects. Github, Shopify, Airbnb, Kickstarter, Fiverr, and Twitch are just a few that you’ve probably heard of and used.
The story of how Ruby on Rails came about is fairly well known in developer circles. Rails was designed from the ground up to be a great web framework to build products with, and it’s proven its value over the years. But more than that, there’s a harder-to-quantify aspect of building a Rails app that results mainly from the community that’s built up around it.
More than any other group that I’ve worked with, Rails developers are focused on building products. Rails includes a lot right out of the box. But when the framework needs a shim here or a clamp there, the community provides what’s needed. That ethos infuses just about every corner of Rails, and it’s what truly sets it apart.
Current Trends in Rails
In the last couple of years, and particularly with the version 8 release, DHH and the rest of the project maintainers have been actively working on simplifying what’s required to build an app with Rails. The fact is that over the last decade, web development – or at least what we all tend to mean when we use that term – has become wildly more complicated. This has meant that more engineers have had to specialize in different components of front-end engineering simply to be proficient. As a result, it’s become harder for a single engineer to truly be effective across the entire stack of technologies being used in your average SAAS project.
The beauty of the early web was that just about anybody with a little experience and a decent text editor could build a nice website. But this state of high complexity and high specialization has meant that something essential about the web has been lost. Rails 8 is largely about swinging the pendulum back towards simplicity. So I’d like to talk about some of the ways in which this latest version of Rails was architected to try and meet that goal.
Perhaps the most important question concerns front-end frameworks generally, i.e. do you still need to use React when building a “modern” web app? I’ll see you here next week as we try to answer that question.