Why Ruby on Rails Is Still a Good Choice in 2019

On the cusp of each new year, we’re usually pelted by articles proclaiming the death of this gem of a framework. And while Ruby on Rails is almost 15 years old, it’s nowhere close to passing on from the world of programming. In fact, there are many use cases where RoR offers a better fit than any other tool. Having delivereddozens of projects in this language since 2010, we know them all too well. So let’s back all of these claims up with some facts, shall we?

First Things First

Ruby on Rails is written in Ruby, a dynamic, general-purpose programming language. Many entrepreneurs and non-developers often confuse the two, thinking Rails when hearing Ruby but rarely the other way around.

This may be brought on by the fact that the majority of Ruby developers use Ruby on Rails framework for development. Further, Ruby as a programming language really only gained momentum following the launch of Ruby on Rails.

Of course, there are other frameworks based on Ruby, but their popularity with developers, as well as the number of active contributors are both pretty low when compared to Ruby on Rails. We’ll take a closer look at that later on in the article.

This isn’t to say that other Ruby frameworks are necessarily lower in quality than Rails. Quite the opposite, actually—they were built to respond to very specific use cases, and often outperform Rails at them. Rails, however, will be a good fit for the majority of projects that call for using a Ruby framework.

Meet Ruby on Rails experts

We’ve been doing Ruby on Rails for 9 years now and our services quality and technical expertise are confirmed by actual clients.Work with experts recognised as #1 Ruby on Rails company in the World in 2017 by Clutch.

Ruby on Rails Revolutionized the Web Developer World

When RoR entered the scene in 2005, it introduced a fresh approach to building Web applications. One of the things Rails brought along was the convention-over-configuration software design paradigm that facilitates developer work on many levels—for example, by eliminating the need to write boilerplate code.

Together with Django, Python’s most popular Web framework released the same year, Rails propagated the use of the MVC pattern and good development practices, such as the DRY principle.

The Rails way of Web development unshackled devs from the tedious parts of coding, freeing them up to focus on the business features and logic of the app. It also increased productivity and helped developers deliver MVPs and startup apps much faster.

Why Do So Many Think Ruby on Rails Is Dead?

Almost an urban legend by now, the myth of RoR’s demise is the product of many misconceptions that grew around the framework and the language it’s based on.

Time to dissect them, then.

#1. Slow Performance

While Rails has slower runtime speeds than, for example, Node.js or Golang, this only becomes noticeable with huge products with large-scale traffic. And if this isn’t a huge app with a lot of users and requests we’re talking about, Rails doesn’t necessarily have to be the culprit behind the slow speeds—there’s also server architecture or databases to consider.

With a well-thought-out architecture and infrastructure (a necessity in all large-scale projects, regardless of the programming language), even huge apps, or their parts, written in Rails can be fast. Examples include Basecamp, Airbnb, or GitHub.

Where, then, does all that bad rep come from?

Because Rails does so much for the developer, inexperienced devs tend to make wrong decisions when writing the code. With bad code, the drop in performance is significant.

Also, Rails 6.0 is expected to come out in April 2019, packing solutions that simplify building Web apps even more. And since “Rails 6.0 will require Ruby 2.5+,” the framework will have all the perks of the new Ruby aboard.

#2. Scalability Issues

I’ll start by explaining that it’s wrong to blame only the framework for scalability issues and deficiencies in handling many user requests. For the application to be able to serve requests quickly, each element in the server system architecture, not only the Web app’s backend, should be configured well and be appropriately performant.

Ruby on Rails was accused of being difficult to scale when Twitter moved away from Rails to Scala. The transition was probably what first sparked the debate around RoR’s scalability issues. Still, let’s keep in mind that we’re talking Twitter-size traffic here.

So, before condemning Rails, try to identify which element exactly is responsible for the slowdown.

Available scaling options with Rails:

code optimization

service-oriented architecture

horizontal scalability

#3. It’s Mature, Hence Boring

Whenever a new framework emerges, especially one that brings something innovative to the table, it goes viral and suddenly hundreds of its users and contributors pop up all over the world.

Then a few years pass, the hype dies down, and what was once cutting-edge becomes much less exciting, intriguing, and challenging. It’s maturing. But maturity does not necessarily have to be boring.

Maturity means refined code and stable, maintainable Web applications, even if no longer written in a hot, new framework.

Chasing technology trends isn’t always a good idea. Instead of improving business operations, a change to something more popular can actually yield adverse results and increase overhead.

Here’s an example of what can go wrong:

You have Ruby on backend, but Python is the top dog now, so it’s natural to feel like Python might benefit your business. But is adding yet another language to your server-side stack necessary? Or maybe it would only make the codebase more confusing and difficult to maintain?

Unless your application is as big as Twitter, business benefits from adding Python won’t be big enough to compensate for the implementation costs. A better approach is to use what’s available within your current setup and solve the problem with a minimum waste of resources.

When used by experienced developers who are well-versed in building apps in Rails, RoR’s maturity combined with excellent tooling, libraries, and community support makes addressing most of the pressing issues a rather straightforward affair.

Community: Ruby vs. Python vs. PHP

Even though PHP and Python are used more widely than Ruby, two of their most popular frameworks, Laravel and Django, respectively, have significantly fewer contributors than Rails.

A higher number of contributors means gems (libraries) are of very good quality, and as the saying goes, there’s a gem for everything in Rails. Rails is often praised for the effort of its community to create reusable libraries that encapsulate solutions to standard problems.

Job Demand

If Rails were dead, hiring managers wouldn’t be looking for Rails developers.

Here are worldwide job ads from LinkedIn for Rails, Laravel, and Django along with the languages they’re written in:

Ruby on Rails developer: 1,692

Laravel developer: 563

Django developer: 485

Ruby developer: 738

PHP developer: 16,778

Python developer: 5,653

Results from Indeed:

Ruby on Rails developer: 1,276

Laravel developer: 412

Django developer: 632

Ruby developer: 3,885

PHP developer: 5,895

Python developer: 20,298

Because the world of Rails is somewhat specific, with many people referring to Rails when meaning Ruby, the analysis above might be slightly inaccurate. Conversely, many hiring managers mean Django when recruiting Python devs, and Laravel when looking for PHP developers.

Why You Should Pick Ruby on Rails in 2019

With coding by convention, building applications in RoR is fast and easy—an excellent choice if you’re on a tight budget and under tight deadlines. Thanks to the sizeable talent pool, finding experienced RoR developers shouldn’t take long.

Ruby on Rails is mature and offers stability that directly translates into successful, hassle-free maintenance for years. Good developers will know how to tap the magic of Rails and use the saved time to focus on business features and application logic.

In the hands of inexperienced developers, however, Rails will never be a good choice for advanced, complex applications, and can actually be a source of many headaches and future issues with maintenance, performance, security, and stability—all of which incur significant costs that could otherwise be avoided. For simple APIs or blogs, Rails is an excellent pick, even for beginner devs.