On the other hand, just think about how much has changed in technology in the last six years - how is it even possible that a technology which was reported as dead in the water around 2013 is still being written about in 2020? Is RoR in fact dead, or is it an Internet myth?
If you're a business owner looking to improve your existing Ruby on Rails app, or if you're looking to build a web app from scratch, it's all very confusing. Here's what you really need to know about Ruby on Rails app development in the real world.
Which well-known companies use Ruby on Rails for big projects?
Basecamp – software for project management/team communications
In fact, Ruby on Rails was born at Basecamp, because they took an existing web application, and extracted the best parts to create the ultimate MVC framework. And right now Basecamp runs on half a dozen platforms, including native mobile apps, with RoR still acting as their preferred backend.
GitHub – the biggest code repository in the world
On a side-note, RoR includes several features designed specifically to improve application performance. One such feature, Turbolinks, descends from an approach called pjax, which was actually developed at GitHub.
And the list of other well-known companies using RoR continues with:
- AirBnB - they've been using Ruby on Rails since they first started up,
- Crunchbase - tells you who stands behind innovative companies,
- Dribbble - a showcase for the world's top design professionals,
- Groupon - ecommerce marketplace providing special offers and discounts on products and services
- Kickstarter - crowdsourcing service,
- Pixlr - photo editing web application,
- Shopify - huge ecommerce software platform, and
- SlideShare - hosting service for professional content.
Just by looking at the short list of use-cases above, you can see that many, quite different types of web applications are run on RoR.
How about performance?
As you can see from the list above of big companies using RoR, experienced RoR developers can already maximise performance by leveraging:
- the asset pipeline, which uses several strategies to reduce the number of requests the web browser makes for assets,
- techniques to reduce the number of database queries your application makes and improve the performance of slow queries, and
- storing frequently used data so that further requests for the same data will be faster (low-level caching and fragment caching).
How about the performance of the Ruby language itself? Ruby's inventor, Yukihiro “Matz” Matsumoto, has stated his clear intention to make Ruby 3.0 three times faster than Ruby 2.0. He aims to achieve this by improving both memory performance and CPU performance.
Why do programmers like RoR?
RoR is an integrated system that collapses as many unnecessary conceptual models as possible using principles like Don't Repeat Yourself (DRY), convention-over-configuration, and English-like semantics. In turn, this leads to simplicity and clarity, which translates to progress at speed. In short, this allows a programmer to write code that not only makes her smile while she writes it, but also makes a different programmer smile when he later has to extend or patch it.
From a business perspective, it really isn't a good idea to use a programming language which is the next cool thing on the block. Nope, you'll want to invest in a complete ecosystem which is mature, stable, predictable, reliable, and scales well . Whilst RoR is mature technology it is not stagnant, but it is rather constantly evolving, and that is thanks to all those who actively contribute to its great community. The chances are that, if developers get stuck at any time when developing a particular functionality, there is a ready-to-use gem for it in the massive library of Ruby gems.
Why do businesses like RoR?
With RoR, skilful, experienced developers are more productive, that is, they can do more, faster, and more cost-effectively. This also means that both the business team and the developers can focus together on business features and complex application logic. In reality, this means that you can fully focus on creating a web app which encapsulates whatever differentiates your business from other businesses.
It's funny, but you almost never see books or articles about how to develop with RoR in an agile way - it's as if the agile development process is already part of RoR's DNA. RoR wins out precisely because it makes it as easy as possible to quickly make a change, and then test that change … time after time.
What is RoR not good for?
We prefer to be honest, and state clearly that RoR is not really a good option for the following edge-cases:
- Simple, static websites – in this case, RoR is over-kill.
- Websites which require only a few function calls to a simple backend.
- Micro/services oriented architecture (M/SOA) - sooner rather than later, this pattern requires large maintenance teams.
So what is RoR good for?
RoR is highly suitable for the vast majority of web applications, in particular:
- when you need a quick prototype (MVP),
- any application for which you do not yet have a fixed concept, but you're looking for a framework which will allow you to later expand and pivot, as your business needs change,
- standard web applications,
- eCommerce applications,
- custom database solutions, and
- web applications which also leverage some specialist areas, such as Machine Learning or Blockchain - in this case, RoR is ideal in providing a high-performance framework, but connecting to algorithms written in some other language.
With its focus on productivity, versatility, and stability at scale it's clear that RoR will be a great choice for developing most web applications for the foreseeable future.