The State of Rails in 2021

When it comes to using back-end frameworks, a plethora of choices are available to the developer. First and foremost, the choice of picking the right framework can be a challenge in and of itself. This choice is dependent on variables an a number of variables such as: deployment speed, scalability, working with pre-existing code, or popularity/usability of the framework. These are important factors to consider when debating how Rails stands in comparison to other available frameworks. Rails was developed 15 years ago on the back of Ruby’s rising popularity in the mid-2000s [1, 2]. It gained its prominence in the realm of back-end frameworks as a result of Ruby’s popularity and its user-friendly and accessible nature. As of 2021, with the state of web-development, Rail’s popularity has decreased with newer frameworks rising in popularity due to the emergence of diverse languages [3]. With this in mind, is it valuable to learn Rails considering it is a “dying framework”? Should we accept the potential fate of the framework, disregard its popularity with previous developers, and learn the more popular frameworks in 2021? When critically analyzing this topic, developers must consider both the positives and negatives of Rails.

Pros

Rails is opinionated — It uses the Model, View, and Controller (MVC) model

  • The MVC model is a pattern in which web developers use that keeps application logic separate and organized. With Rails, the MVC model is directly built into the framework.
  • While this can easily be written as a negative quality, being that the MVC model is directly built into Rails, it can lead to devs writing less erroneous code and allow Devs to understand a model in which a lot of websites are built on, even if they don’t use Rails.

Maintain existing websites

  • It’s important to consider that Rails is being used by many popular websites that millions of users visit daily. A few notable examples are Github, AirBnb, Twitter, Shopify, etc. [4]. With so many popular websites using Rails, it provides a strong sales value proposition and concrete proof that Rails is not still relevant and a popular choice for developers.

Fast Development Speed

  • Given that rails has the MVC model built into its framework and the quickness of writing Ruby, we can deploy apps very quickly. An additional bonus of Rails being implicit, it can make code easy to read.

Aged

  • As Rails was developed in 2004 the framework has proven itself to be tried and tested by millions of developers [1]. As a result, a lot of the problems with the framework have been identified and innovated, establishing Rails as a seamlessly usable framework.

Cons

Popularity is decreasing

  • In the world of web development, new frameworks and languages are constantly emerging. Competing with other frameworks and languages becomes a formidable challenge, particularly for older frameworks. With the rise in popularity of Python and Javascript, Ruby is struggling to tread the water of prominence in the industry. In Stack Overflow’s 2020 Dev Survey, it was stated that 57.1% of current Ruby developers will not continue to use Ruby in future projects [5]. While reasoning for the choice is varied, that statistic alone is indicative of Ruby’s and subsequently Rails’ struggle. This raises justified concerns about the validity or importance of learning Rails, given that the majority of Ruby developers are ready to leave the language behind. The graph pictured below shows a telling visual of how Ruby’s popularity has fallen over the last 5 years [3]. With popularity decreasing, the ability to seek and find support decreases as well.
Figure 1: Github repository contributions in over the years [3]

Rails is a heavy framework

  • As developers/engineers, we struggle with the problem of optimization . How good is good enough? The infrastructure in which Rails is built requires immense processing power which, in turn, can make Rail’s applications slower and more difficult to scale. In modern day development, we have hardware that can compensate for this (Shout out to Moore’s Law), however given there are other, more lightweight frameworks out of the box, Rails literally ‘lags’ behind its competitors.

Rails is opinionated

  • Rails being Rails, is opinionated. Yes I said this is a plus, but let’s examine this point again. An opinionated language means that we are confined as a developer to what the framework allows us to do. There is no wiggle room to be had, stifling the creativity and ingenuity of developers. Given we are boxed in by the framework, creating a niche product within those parameters is challenging at best and impossible at worst. Flexibility in a framework is crucial given the needs and demands of our clients.

Rails has a learning curve

  • A learning curve is true for any language or framework, but this is particularly important to consider when dealing with a language like Ruby. While Ruby was designed to be an easy to read language and Rails follows suit, the simplicity can be misleading. This is due to the fact that Ruby is implicit to read, and therefore more challenging to translate into more explicit languages. This creates a challenge when looking to identify bugs in the program, as they are wrapped in the veil of implicit understanding.

Rails is like any other framework in our industry, it has advantages and disadvantages. In recent years there has been a large growth in other languages and frameworks, resulting in developers gravitating toward more popular languages. Rails has clung to its previous prominence and is still being used by millions of websites despite the fierce competition in development today. It has a solid foundation in the back-end framework realm and as such, we cannot disregard it as a “dying language” and deem it obsolete. As developers, we have to maintain an open mind, adaptability, and a desire to utilize both modern and more dated frameworks, and apply whatever framework best fits our needs.

[1] David Hansson, “Rails 1.0: Party like It’s One Oh Oh!,” Riding Rails (blog), December 13, 2005, https://weblog.rubyonrails.org/2005/12/13/rails-1-0-party-like-its-one-oh-oh/.

[2] “TIOBE Index For 2021,” TIOBE, accessed April 02, 2021, https://www.tiobe.com/tiobe-index/.

[3] “Octoverse,” Github Inc., accessed April 03, 2021, https://octoverse.github.com/.

[4] Tim Huebsch, “18 Popular Websites Built With Ruby On Rails (And Where To Learn It),” Lighthouse Labs (blog), June 11, 2020, https://www.lighthouselabs.ca/en/blog/popular-websites-built-using-ruby-on-rails.

[5] “2020 Developer Survey,” Stack Overflow, accessed April 02, 2021, https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-dreaded.

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Go With Me: Install and Configure Go

Hardware verification and debugging

Factors: Mobile App Development

Why Should You Develop for Mobile with a Platform?

mobile platforms

OOPS Concept in Java

Learn Git basics in 10 minutes

The SSH conundrum

Software Defined Radio Market is Estimated to Reach USD 21.5 Billion by 2024

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Mitchell Gonzalez

Mitchell Gonzalez

More from Medium

Ruby gems to make things easier!

JavaScript: The Rise of a Loser

How to Use attr_reader, writer and accessor in Ruby.

Don’t Cry Over binding.pry