Ruby on Rails, or RoR, the free MVC Web framework, appeared on the market in 2005 and quickly gained pre-eminence for Web application development, seducing developers with the ease and elegance of its functional prototype building. RoR’s star waxed between 2006 and 2009, after which it went on the wane. RoR, based on Ruby, is functionally comparable to ASP.NET MVC, (C#), Laravel (PHP), Django (Python).
Is RoR a dying platform?
Far from it. Today, many well-known companies use and trust RoR, such as Basecamp, GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, among others. It is still being developed actively and remains an excellent, competitive choice.
RoR’s decline among Web programmers is mainly due to the emergence of new competitive solutions since 2006, especially Node.js and its associated frameworks (such as Sails or Express, for example), in 2009-2010. This solution opened new horizons to the many JavaScript developers, while knowledge of Ruby remains a prerequisite for RoR in order to truly take advantage of its full potential.
Aside from its contemporary, Django (in Python), RoR was at one time the only solution that supported scaffolding, or object-relational mapping (ORM), which made it possible to build applications with just a few command lines. This capability went over extremely well with developers who were tired of PHP, and contributed to its success.
In search of performance
RoR’s main drawback is its performance, since it is powered by Ruby, a sluggish language to start with. As Jared Friedman, Scribd cofounder, said in September, Ruby is suffering from not having a major sponsor.
PHP benefitted from Facebook’s vote, while JavaScript rode the Google development wave; but Ruby, which relies on volunteer individual and institutional contributors, remains orphaned. Twitter, which chose RoR, could have done for it what Facebook did for PHP, but its engineers, faced with an explosive load, decided to set aside Ruby in favour of services in other languages including, mainly, Scala. In 2013, LinkedIn also gave up on RoR, going with Node.js instead, given the added benefit of merging the front-end JavaScript and server code teams.
That being said, not all Web applications are on the same scale as Twitter, and brute performance isn’t always essential. Furthermore, no matter what the platform, scalability is always a delicate balancing act. In other words, if you hope to have hundreds of thousands of users for your application (especially if you plan to go cache-free), then RoR can quickly hit its limit. But for the vast majority of projects, RoR is more than sufficient.
RoR hasn’t said its last word
The framework is still under active development. (Rails 5 is coming soon) and, furthermore, RoR is a stable and mature solution, something that can’t be said of more recent solutions. With the right Ruby programmers, RoR can respond to all your needs with lightning speed. Further, Ruby is a solid, concise and elegant language, specifically developed to make developers happy.
Of course, all things Node.js are the lastest rage… but fashions come and go, and only the truly robust systems stand the test of time. RoR, initially considered a “cool hipster programmer language”, is now a mature language that is here to stay, if only due to the number of applications already developed with it. And, unless some revolutionary framework surfaces, it will continue to be used for projects of all sizes.