Is Ruby on Rails still relevant in 2019?
A quick Google search about Ruby on Rails will surely bring a lot of results asking the title’s same question. In fact, you can find that the question dates from a few years back, when some people were beginning to ask themselves if using a Ruby-based framework with 13 years under its belt was really worth it.
Some people defend it saying that the framework is still a great alternative to build dynamic and complex websites that need to adapt according to its user’s actions. Sites like AirBnB and Soundcloud use it and they work great. Rails’ advocates believe that there’s also great value in the framework’s fast programming process, to the point that they encourage companies to seek Ruby development outsourcing if needed.
Rails’ detractors, on the other hand, think that the framework’s days of glory have long been gone and that there are far superior alternatives. These include some frameworks that borrowed some of Rail’s ideas as their basis, like Python’s Django and Perl’s Catalyst.
So, who’s right and who’s wrong here? Well, it’s not a black-or-white kind of situation. There are projects that would benefit from Ruby developers or software complex enough to contemplate hiring one of the Ruby development companies out there. However, there are other projects where Rails would simply not cut it.
One thing’s for sure – Ruby on Rails still is a valid option for certain projects. Keep reading to find out why.
Rails is alive and kicking
Though some people are already saying “Ruby and Rails are dead”, that’s far from true. There are several reasons to think so, including:
- Big websites still use it: if Rails was really dead, then websites using it should be moving away from it, shouldn’t they? Why would they stick with an unsupported framework? That’s because Rails isn’t dead. Big sites like Shopify, Airbnb, GitHub, SoundCloud, and Hulu all use Ruby on Rails to this very day and keep betting on its evolution. Besides, there are approximately 2,7 millions websites built with it that prove that the framework is very much alive.
- It has an active community: Rails has over 3,800 contributors in GitHub alone (compared to the 1,700+ contributor of Django) which help regularly with its development. Among the chief contributions, there are new open-source libraries (gems) and ample documentation with explanations and guides on how to use and exploit those gems to the maximum.
- Rails keeps getting updated: with an active community and a steady user base, it’s obvious that Rails will still be updated. In fact, Rails 6.0 just got released last April with a set of 4 major features that show the commitment of its developers with the framework. These features include:
- Action Mailbox: a new way to route incoming emails to controller-like mailboxes for processing in Rails
- Action Text: it brings the Trix editor to Rails
- Parallel testing: uses fork or threads to parallelize tests
- Startups keep it alive: since Rails is an open-source framework, startups see it as a great way to cut costs when working on a project. Its gems also provide Ruby developers with the possibility to create rich functionalities through easier coding. Given how simple it is to code with Rails, Ruby development companies take less time when working with its applications.
Pros and cons of working with Rails
Now that we’ve seen that Rails is very much alive, it’s time to answer the big question. Why would you want to work with Ruby development services on your project? To answer that, it’s necessary that we take a look at the various pros and cons of Rails.
The benefits include:
- Fast development process: if you have ever worked with Ruby developers, then you already know that’s hard to beat Rails when it comes to how fast it is to develop a project with it. As we said before, its intuitive coding makes it easy to advance from stage to stage, saving time and costs. Some estimate that Ruby development companies complete a project 40% faster than those that use other stacks.
- Easy implementation: another place where Rails is extremely fast is in the implementation of complex business logic in an application. Ruby developers can create APIs really fast that work perfectly along with front-end frameworks (such as React or Vue) to get applications in no time.
- Huge library: another thing for what Rails is known for is the number of gems created by its community. Having such a wide array of libraries at your disposal makes it easier for you to focus on the overall logic of the app. The implementation of many features is fairly simple as gems act like bridges between your app and the external services.
- Rails conventions: the use of conventions reduces the amount of decisions the developer has to make and limits repetitions. In that way, the developer only has to specify the unconventional aspects of the application and leave the typical behaviors to the framework. This makes it easier for Ruby development services to move from one Rails project to another, as the structure and coding practices remain fairly similar.
- Self-documenting: by combining a set of very popular and free gems, you can add a self-documenting feature to your project. This creates the necessary documentation for the project you’re working on, relieving you from the need to do it yourself in a separate process. This also allows other developers to work on the same project just by referring to the existing documentation on it.
As for the cons, here are the most relevant ones:
- Performance far from ideal: it’s widely known that Rails isn’t fast. In fact, projects that need high operational speeds with low server resource consumption should look elsewhere. This mostly applies to applications that have millions of users simultaneously, but it’s worth mentioning.
- Issues with scaling: though some people say you can’t, you really can scale Rails but you need to upgrade the server or divide the work on multiple servers. The question is if doing so is really worth it, since you’ll have to spend more money on server infrastructure to get the same performance you’d get with another framework and back-end solution (such as NodeJS or Phoenix).
- Not that flexible: coding in Rails is easy and fast but there’s a caveat: you code the way the framework wants you to. This can be great for certain applications but it’s a huge letdown when you’re working on an unconventional project. Lots of it default features can’t be really tweaked, which means that Ruby developers have to adapt to it or use another framework.
- Lack of libraries for cutting-edge technologies: we all know that we’re living on the age of artificial intelligence and machine learning. Unfortunately, Rails doesn’t get along with them. In fact, its community doesn’t feel that interested in developing solutions for this, so if you’re working on a project with one of these technologies in mind, you’d be better off with Python or even Java.
Should you use Ruby on Rails today?
Rails is still relevant and has a lot of positive things to offer. However, the question is worth asking. How can you know if it’s the framework you need for your project? Well, there are certain type of projects that work perfectly when developed with Rails:
- Web apps: provided that you aren’t expecting millions of users at the same time, Ruby on rails is a great choice. It’s easy to use, you can market the product earlier than with other frameworks, and it offers you a reliable tech with tons of features.
- E-commerce: Shopify still uses Rails for a reason – it has tons of gems geared towards e-commerce stores. That means that you can have your store up and running in no time if you use this framework. You can even power it up with a help desk, a payment gateway and even email campaigns.
- Content management: Rails libraries also provide great features for content creation and SEO. They allow you to build a content-centric site in no time with all the options you need to create and distribute content with the best practices around.
- Custom database solutions: since Rails has ActiveRecord, it allows for easy database manipulation without the need for SQL. This ORM also integrates with Database Management Systems to offer you a robust way to manage complex databases.
- Prototyping: finally, Rails is great for creating prototypes of all kinds of apps. Since it’s so easy to use and it’s lightning fast, you can get a skeleton version of your app in no time. Thus, you can generate early versions with the basic features to show the rest of the team where you want to head with your new project.
The bottom line
Perhaps you’re one of those people that think that Rails is a thing of the past. If that’s so, then you need to rethink your approach to one of the most powerful frameworks out there. Sure, it’s not the one with the best performance and it has scalability issues. But there are several benefits that make it great.
The possibility to build prototypes, the features provided for e-commerce, how easy it is to code with it, and the humongous amount of libraries available are some of the incredible things you can get with Ruby on Rails.
Besides, you have the guarantee of an active community with big players on it that keep pushing the boundaries and developing new gems that facilitate the work with the framework. The only thing you need to know before starting to work with Rails is which kind of project you’re embarking on.
One last thing to consider that we haven’t mentioned yet. This whole “Ruby on Rails is dead” thing has made it more difficult to find proper talent to work on Rails projects. That’s why most of the companies working with this framework look for the help of offshore Ruby development teams. With them, you avoid the lengthy hiring process and have enough flexibility to work with this great framework.