Daniel Baugh

Engineering Manager

Daniel Baugh

It’s no secret that we here at DockYard are evangelists of the Elixir programming language.

We believe Elixir, especially when paired with Phoenix, can reimagine web development by empowering developers to build faster, more scalable, and reliable applications that deliver rich, interactive experiences.

Whenever possible, we encourage organizations to realize the immense benefits of Elixir and Phoenix. That said, we do recognize that this shift is not always an option for organizations currently using alternative languages and frameworks.

In those instances, we support other technologies that we can get behind and one of those alternatives is Ruby on Rails. Fun fact: The dynamic duo turned 16 years old this July, after being released as an open-source project by David Heinemeier Hansson back in 2004. The framework has come a long way from its sole developer origins; it currently stands at 5,615 contributors and counting and has been downloaded over 230 million times.

Both Ruby and Rails have continually received updates over the years. Rails 6.0 was released last August and Ruby 2.7 was released this past December, both bringing new features and performance improvements. It has grown into a mature and stable framework that is backed by a large and passionate community.

Over the last few years, however, it has been interesting to see Ruby on Rails decline in popularity. Blog posts amass with eye-capturing, click-bait headlines such as, “Is Ruby Dead?,” or “R.I.P Ruby on Rails.” I’m here to tell you why using Ruby on Rails remains a smart decision for some organizations that are not quite ready to shift to Elixir in the year 2020.

Numbers Don’t Lie

Earlier this year, Y Combinator (a startup incubator) published a list of its top 100 graduate companies. Ranked by their valuation, 8 of the top 10 companies on that list used Ruby on Rails.

Let’s take a look at some of those companies along with a few others that have found success with the framework.

  • Fiverr: A leader among freelance platforms, Fiverr was founded in 2010 in Tel Aviv, Israel. Fiverr IPO’d last year (June 2019), and earnings for the first quarter of 2020 reached $32.4 million–an increase of 44% year over year.

  • GitHub: If you’re reading this article, chances are you have used GitHub. The biggest code repository in the world, GitHub runs on Ruby on Rails. It has been kept up to date with new releases as well, having been updated to Rails 6 last September. As of January 2020 GitHub had over 40 million users and over 100 million repositories.

  • Shopify: Shopify is an extremely successful e-commerce platform built with Ruby on Rails. Over 800,000 merchants rely on its platform to do business. This past year Shopify merchants broke records around the Thanksgiving Holiday, showing Ruby on Rails can scale by processing $1.5M+ USD Gross Merchant Value per minute and over 14,000 orders per minute. Merchants across 175 countries sold over $2.9 billion.

  • AirBnB: Since its launch in 2008, AirBnB has grown into the world’s largest reservation service that deals with private property. Built with Ruby on Rails, AirBnB serves up over 7 million bookings in over 220 countries and regions.

  • Stripe: Stripe allows businesses of all sizes–from new startups to public companies–to accept payment from their customers and manage their business over the internet. It ranks at the #1 spot on the Y Combinator list mentioned above, and uses Ruby on Rails for their backend platform.

Compelling Use Cases for Ruby

Now that we’ve read about some very successful companies using Ruby on Rails, let’s dive into two use cases where Ruby on Rails is still a compelling choice.

The MVP (Minimum Viable Product)

There is a reason so many of the top companies in the Y Combinator list from above chose to use Ruby on Rails and why the framework remains a go-to for startups and companies today. Ruby on Rails is an efficient and cost-effective choice for building an MVP. Let’s take a peek at a few of the many reasons why that is.

Community

Ruby on Rails is optimized for developer happiness and the direct result of this is the huge community that now exists. This community of developers has created a large ecosystem that now houses thousands of gems (libraries) that other developers can use. Another benefit of such a large community is the ease of hiring Ruby on Rails developers. Companies have a large talent pool to choose from, be it full-time or freelance.

Convention over Configuration

There are thousands of such decisions that just need to be made once, and if someone else can do it for you, all the better. - David Heinemeier Hansson

Ruby on Rails favors convention over configuration. This decision is so valued that it is the second ranked pillar on the Rails doctrine, which I highly recommend reading. By using conventions it allows the developer to focus on what really matters; rather than spending hours configuring and tweaking mundane settings they are able to start working on actual code.

Mature Ecosystem & Cloud Support

The mature ecosystem that exists for Ruby on Rails is often overlooked. It’s been battle-hardened, rigorously tested, and proven to work for companies of all sizes. Gems have led to a massive cut in time-to-market as developers can reuse them to solve common problems rather than having to reinvent the wheel each time. With the addition of Sorbet, type checking now exists. Oh, and did I mention reporting and logging? It is incredibly easy to hook your application up to Sentry or New Relic and start monitoring performance of your application.

Another point that many users take for granted is the relative ease of deploying a Ruby on Rails application to the Cloud. Whether hosting on Heroku, Amazon, Azure, or other cloud services, they all provide support and documentation for Ruby on Rails.

A Backend API

With the advent of the SPA (Single Page Application) many companies have dedicated their resources to the front-end side of development, opting to use frameworks such as Ember and React to create their customer facing applications. These front-end frameworks have to be backed by some kind of API and Ruby on Rails is a good candidate for this.

Rails 5.0 release brought with it an API mode. By setting a flag on a new Rails project, it will create a stripped-down version of a standard Rails application with a much smaller set of middleware. It includes changes to generators to skip things relating to views, assets, etc. Much like the standard Rails application, convention over configuration still applies with the API mode.

You’re left with a well-tested, stable, and productive environment that is fully capable of supporting a JavaScript front-end. Many companies from the section above use Rails in this manner.

So…is Ruby dead?

Is Ruby on Rails the answer to everything? Absolutely not. Our very own Chris McCord wrote an excellent article detailing the performance benchmarks between Rails and Phoenix, and Phoenix is a clear winner.

While Elixir remains DockYard’s first technology choice, we do provide our consulting and development services to numerous organizations who opt to build their stack around Ruby on Rails for the reasons listed above.

And while Ruby on Rails is no longer perceived as popular, it is certainly not dead. What Ruby on Rails once had in popularity, it has gained in maturity and stability.

DockYard is a digital product agency offering custom software, mobile, and web application development consulting. We provide exceptional professional services in strategy, user experience, design, and full stack engineering using Ember.js, React.js, Ruby, and Elixir. With a nationwide staff, we’ve got consultants in key markets across the United States, including San Francisco, Los Angeles, Denver, Chicago, Austin, New York, and Boston.

This article was updated on August 27, 2020.

Newsletter

Stay in the Know

Get the latest news and insights on Elixir, Phoenix, machine learning, product strategy, and more—delivered straight to your inbox.

Narwin holding a press release sheet while opening the DockYard brand kit box