For people involved in web development, the web development framework Ruby on Rails (Rails or RoR) and the associated programming language Ruby are popular names.
Since their inception in 2005, Rails and Ruby have both come a long way. Over the years the language and the framework both have matured and became more stable. However, for the last few years, there has been a buzz of both losing their trendy status and dying slowly.
Are Ruby and Rails really losing their shine? This demands a reality check.
Let’s check some stats first:
• As on date, the number of GitHub contributors on Rails code stands at 3995
• Worldwide demand for Ruby on rails developers on LinkedIn jobs shows search result as more than 32k
• Indeed.com shows that Rails developer in the US can expect a salary of $123,792, higher than Django, python, Java, PHP developers’
• Biggest names still rely on Rails for a good part of their stack. Companies like Basecamp, GitHub, Shopify, Airbnb, Hulu and Zendesk all retain elements of Ruby On Rails
• Ruby and Rails’s latest releases make them better and easier for developers. Rails 6.0.2.2 and 5.2.4.2 have been released!
Let’s do a popularity check:
• Web application frameworks shows a downward trend for Ruby on Rails
Source: web framework popularity
• Google trends shows falling popularity of Ruby on Rails framework
Source: Google Trends
• Tiobe index for programming languages also shows a decline in Ruby’s popularity
Source: Tiobe index for Ruby
It’s evident from the data that Ruby and Rails are on a declining trend. However, the job market, community and salary statistics show the demand for Ruby on Rails developers is still good.
This is sort of contradictory, isn’t it?
Let’s dig deeper to see why that is so.
Where there’s smoke, there’s fire
If the data is showing a declining trend, there has to be a good reason for it.
Why is the popularity of Ruby on Rails is falling?
Let’s look at some common challenges faced by Ruby and Rails users and dissect them one by one.
Slow runtime speed
The slow runtime speed goes against the popularity of Ruby on Rails. Compared to other popular frameworks like Node.js, Golang or Django, it falls short on performance. However, runtime speed is not a big issue as long as your application does not attract huge traffic like big apps such as twitter.
In many cases, Rails cannot be blamed solely for the slow runtime speed. Bad server architecture, database design or poorly written code can also contribute to the issue. Recently, Rails 6.0.2.2 has been released with features that make Web application building easier and faster.
Many of Ruby language’s inherent performance issues were addressed after the release of Ruby 2.6.1. Also, with Ruby’s performance optimization, Ruby 3 is expected to be three times faster than the previous version.
Not scalable enough
Another issue responsible for putting a blot on the reputation of Ruby on Rails is scalability. The issue was highlighted when big names like twitter decided to scale back some part of their infrastructure from Rails to Scala. However, the framework cannot be blamed for the scalability issue entirely. Scalability depends on many factors of infrastructure like architecture, databases, caching, etc. Ruby on Rails can scale fine if these factors are built correctly for handling sudden surges in the traffic.
Rails works fine with most of the apps. Many startups use this framework for their development. It allows them to build a prototype and scale it up later as market demand grows.
Less room for flexibility
Rails framework is opinionated, allowing the developers very little flexibility while developing applications. The idea behind Rails controlling the reigns was to enable the developers to create applications faster while using best web development practices. However, it leaves no room for creativity for building unconventional applications.
Poor integration with AI/ML
Artificial Intelligence and Machine Learning are the hottest technologies that every modern app is integrating with. Unfortunately, Ruby does not have the necessary libraries for such integration. Here, Python and Java have the upper hand, which makes them more popular among web developers.
Too old to be cool?
Every new technology or framework that comes into the market seems cool initially. People want to try and test it. Everyone wants to learn, use and contribute to the newest technology in the market. As the users and community grow, the technology becomes trendy. But, once it matures, the excitement fades away. The same happened with Ruby on Rails.
Rails is a mature and stable framework providing the developers with a hassle-free environment where they can focus more on business needs and logic. But many developers and businesses are in a hurry to try out new frameworks and languages with the hope of getting better performance. However, shifting is not always worth the amount and time spent. A better option is to put experienced Rails developers on the task who know how to get the best out of its matured environment.
Ruby and Rails may not be as popular as they once used to be. But still, there are areas where they are hard to beat!
Fast development
Rails is way ahead of its competitors when it comes to development time. Rails guides the developers at every point resulting in nearly 40% faster development compared to those using other frameworks. It’s the best-suited framework for startups that quickly want to create an MVP before building a full-feature app.
Business logic implementation
Rails developers can easily implement complex business logic in their applications. If you want to create an API, Rails can make your job easier and faster with Rails API mode. With default ActiveRecord, a strong developer community and Webpacker support, Rails 6 allows you to quickly use frontend frameworks like React.
Huge Gems Library
Ruby has a huge community of developers that provides a massive library of gems. This allows you to concentrate on actual logic without bothering about necessary implementations. You can add many free features provided by Gems while developing apps. The massive library reduces the pain of developers. With ready to use gems, the time to market is also greatly reduced.
There’s still room for Ruby and Rails
With so many new frameworks available, Rails is still good for some type of projects:
Regular applications that do not attract huge traffic can use the power of Ruby and Rails
E-commerce applications can use ready to use gems to quickly add features and get their apps up and running in no time
Custom database solutions can leverage the capability of Rails to integrate with DBMS like Postgres and use Active records to create quick and easy solutions
Content centric websites can use SEO friendly tools built into Rails
Businesses can create prototypes quickly using Rails and understand the market response of their products
To wrap it up!
With so many alternatives available, Ruby and Rails may not look like a good idea to use. However, Ruby and Rails have matured over the years. They have been successful in addressing the developer’s issues by adding many new features with every new release. An experienced developer may use the framework to its full potential and bring out the best for the project.
Hope Ruby and Rails get their lost glory back soon!
Top comments (0)