Sometimes our clients are interested in what technologies we are going to use to build their web application projects. If we choose Ruby on Rails (also known as Rails or RoR), we spend some time explaining why. After all, there are other popular languages and frameworks for back-end web development like Python, Java, or PHP. So why use RoR? There are always multiple reasons for this decision, the main one being that often it’s a better choice than any other tool. We have been using Ruby on Rails for web development since 2006 and are ranked as Top Ruby on Rails Developers by Clutch.co, which we take pride in considering that Ruby on Rails development is our strong suit.
What is Ruby on Rails?
Ruby is a general-purpose, dynamic, interpreted language for object-oriented programming. It’s so human-like and resembles English, that even a person who doesn’t know how to actually code can to some extent understand the code written in Ruby.
However, creating new software using only Ruby is a tedious job. That is why a special tool was created to optimize the development process — Rails.
Rails is a web development framework written in the Ruby language and introduced 9 years after the initial release of Ruby. It was created to make programming web apps easier, helping to build websites of any complexity. It also marked the beginning of the massive popularity of Ruby and the arrival of Ruby on Rails companies that recognized its potential, us included.
“Rails is the killer app for Ruby.”
– Yukihiro Matsumoto, Creator of Ruby
What is Ruby on Rails used for and why it’s so popular
Why choose Ruby on Rails? The main goal of Ruby is to quickly create new high-performance web platforms. However, there’s really no definite answer as to what Ruby is used for, since, like any general-purpose programming language, it’s suitable for a wide range of programming tasks. No web development company would treat code as something that exists outside of the business goals of a project. Each programming language, each technology stack is designed to solve some problems. So depending on the purpose, RoR might or might not be the right choice for your web project (but rather yes than no).
What types of projects Ruby on Rails is best for:
- E-commerce, i.e. online stores with sophisticated options. We’ve got a separate article telling about the benefits of hiring Ruby on Rails developers for your next e-commerce project.
- Informational portals.
- Stock exchange platforms.
- Dating websites and web platforms.
- Social networks.
- Non-standard complex projects.
Stack Overflow Developer Survey names Ruby the 14th most popular programming language in the world with 7.1% of respondents being Ruby on Rails developers.
The number of live websites and web platforms created using Ruby on Rails is more than 1 million worldwide (with more than 4 million that have existed at some point), and this number is growing.
RoR is also strongly developer-oriented and is well-liked by developers.
💖 Been using Ruby on Rails for ~15 years now. Still a joy to work with every day.
How many programming frameworks can you say that of?
— Marc Köhlbrugge (@marckohlbrugge) June 13, 2020
Companies using Ruby on Rails
Ruby on Rails is a preferred technology for startups, though it has also attracted many top tiers. The list of companies that use Ruby on Rails includes Basecamp, Airbnb, Shopify, Goodreads, Kickstarter, Hulu, and others. In other words, Rails is something that you can undoubtedly describe as “ready for the enterprise”.
So why use Ruby on Rails and why did these companies decide to use RoR for the development of their web projects? The answer lies in the list of advantages and disadvantages of Ruby on Rails which is coming next.
Advantages of Ruby on Rails from the business perspective
Ruby is clear, simple, logical, and has a lean code-base (allowing for fewer lines of redundant code) resulting in accelerated development speed. Add Rails, and you’ll see how it helps RoR developers to save time while coding and focus on providing better solutions. Simply because less code means less time spent on writing it while the functionality remains the same.
“Ruby on Rails is a breakthrough in lowering the barriers of entry to programming.
Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.”
– Tim O’Reilly, Founder of O’Reilly Media
As follows from the previous point, development time is the customer’s money. The more time development takes, the more expensive it is. Because of the speed with which Rails websites can be built and modified, less money is spent on creating and maintaining them. Taking into account that an application is properly designed and its development process in a given company that renders its Ruby on Rails development services is set correctly.
What’s more, Ruby on Rails is open-source which means the absence of licensing costs.
The Rails framework is very flexible and allows to adapt websites to various updates related to the innovations in the business processes. In case you miss some functionality in the future, there are separate modules for that. What’s more, Ruby lets you remove various elements or redefine them if necessary. Likewise, individual parts of a program or application can be freely modified and expanded later on.
It is an incredibly expressive and flexible language that makes it possible to solve one problem in many ways, giving Ruby on Rails developers a lot of freedom and opportunities to find the best-suited solution for a project.
RoR is easily supported by different developers
Ruby code is readable and largely self-documenting. Spared of the need to write more documentation than they absolutely have to, developers can take the already existing projects almost on the go. Moreover, more than 90% of Ruby web applications written use Rails. It means that RoR provides all sorts of integrations to meet the requirement of the project.
Each project is well structured, so a new developer will quickly get the project details from day one. It means less downtime for business in case there is a need to hire another Ruby on Rails developer for an existing project or find several new ones in order to expand it. If one team starts a project for the other to end it, it’s also not a problem at all.
Massive resources and community
There’s a large number of ready-made Ruby on Rails solutions in the public domain, the larger number of which have already been tested by someone else, which reduces the need to develop something from square one.
The large and friendly community where Ruby on Rails developers help each other, announce new projects, and discuss everything related to the framework, is not only useful for coders but is beneficial for business. In case of difficulties, it helps to find the best solutions to solve your problems. The Ruby community is proud of the number of ready-to-use code packages called “gems” provided by the developers themselves. As of now, there are 1700,694 gems that any Ruby developer can use to make your app better. Widespread use of Ruby applications and tools means that you can easily integrate other services into RoR-based products.
For long, Ruby on Rails was known for its scalability problems, and not without reason. For instance, the performance of the same programs written in Java and in RoR can be very different, especially considering the high Java’s efficiency concerning multi-threaded applications. However, Rails 6 released last year has resolved the majority of Rails scalability issues. Rails 6 is considered scalable by default.
Some of the RoR apps that we’ve been developing recently are able to launch multiple instances of the same code (including on different servers) and work just fine. This is concerning horizontal scalability (when you scale by adding more machines into your pool of resources). Things are different with vertical scalability (when you scale by adding more power to an existing machine). However, that’s not so much of a problem, as you shouldn’t get carried away with it at all or it’ll come out too expensive because of server cost.
Scalability is another aspect that mainly depends not on the framework but on the architecture of the application.
Another Ruby On Rails scalability success story 🎉 https://t.co/ZDlrQcbnW9
— Bilal (@BilalBudhani) February 11, 2020
High data protection
Ruby on Rails provides better project security. When using RoR tools, SQL injections and XSS attacks are excluded, all input parameters are escaped by default, output variables in templates are also escaped. There is simply no chance for a developer to make a security error (unless he intentionally “shot himself in the foot”). News about various resources being hacked gets published every other day. For example, Nintendo stated that up to date, a grand total of 300,000 user accounts have been hacked. Cybersecurity is our daily concern, both personally and professionally.
Teams responsible for developing the Rails framework invested a great deal of thought into its data protection capabilities. Among other things, RoR contains password and credit card data encryption. Special measures are taken to prevent SQL injection and XSS attacks.
High reliability and maintainability
The stability aspect is extremely important for every business. Ruby on Rails development usually uses the TDD (test-driven development) approach, and the toolkit supports extensive testing capabilities. It means that solutions created with Ruby on Rails are stable and maintainable. The framework itself is also covered by automatic tests, which makes it reliable.
Unlike other frameworks, RoR has excellent automated testing tools, which speeds up the transition of the project from the “program is written” to the “program works without errors” stage. And take my word for it, it is often this transition that takes the most time in the implementation of almost any project.
Startups and SMBs
Naturally enough, cost-effectiveness, speed, scalability, access to the widest knowledge base, and other factors are all RoR’s advantages that give a competitive edge to startups and small/medium businesses. Startups and developing businesses choose Ruby on Rails services because they give them the ability to compete with larger firms.
“Rails has done more for startups than a whole boatload of Venture Capitalists. Rails has had an incredible impact on the startup ecosystem.”
— Eric Ries, the proponent of Lean Startups
As a Ruby on Rails development company with most of our web projects developed with the help of RoR, we couldn’t agree more.
Disadvantages of Ruby on Rails and how to deal with them
Rails’ runtime speeds results are indeed slower than some of other languages and frameworks:
On the other hand, the difference is seen only in the case of products with large amounts of traffic. Performance is also another parameter that depends on how good an app’s architecture is. Plus, there is an array of tips and tricks for developers that help increase the performance of RoR.
Ruby on Rails developers are expensive
Ruby does seem to be among the highest-paid programming languages in 2020 globally.
However, every good developer is expensive, no matter what language they are proficient in. But only using the expertise of experienced professionals, the quality of your project can be guaranteed.
By the way, if you’re not a stranger to experiencing difficulties with RoR, there are services like RoR rescue that we can provide you with. Code audit and modernization.
Myths about Ruby on Rails
Some developers who are not familiar enough with Ruby on Rails believe that digital projects written in it do not scale well. The well-known “Twitter case” is most often cited as an example, which at one time abandoned RoR for some of its own internal reasons.
Look at Kickstarter, Groupon or Basecamp – all of these projects are written in Rails and they don’t have any scaling issues. In any case, the performance problems of any project are not problems of the wrong choice of platform or programming language. Most often, these problems are caused by the choice of an erroneous project architecture, data caching or database optimization.
One of the most prominent examples from our personal experience of development is the CG Master Academy case. It’s a massive online e-learning platform that we built with Ruby on Rails.
The future of Ruby on Rails
It seems that every year new articles appear announcing the demise of Ruby on Rails, to the point when it has become something similar to a running gag in the developer community. Why are people speaking about it at all? The Ruby language goes back to 1995 and the Rails framework was created in 2004. Everything changes very fast in the field of web development with new hip technologies coming up every now and then. Sometimes it’s due to the necessity of solving some new issues. Sometimes just because something is trending. Developers, like every other person, are sometimes prone to favor new exciting trends.
The important thing that while Ruby on Rails is more than 15 years old, it’s constantly being developed to cater to the arising needs of the business. The current stable version of Rails is 3.0. It exceeds the previous one by being 3x faster, featuring superior memory utilization, static analysis, and new features like Ractors and schedulers. These new features help it remain up-to-date and competitive.
Looking for a Ruby on Rails development company?
Ruby on Rails is one of our preferred choices for a variety of projects because it gives us the option of the fast development of custom software solutions. RoR is very well established as a tool for creating technically complex web projects. All its advantages make Rails a strong enough tool to build MVPs that satisfy the market, launch successful startups, and be used by large companies.
Once again, check out the results of our Ruby on Rails development services in our portfolio. One of our Rails projects is Cubebrush — a large e-commerce platform for artists where they can sell and buy digital resources. Another example is CGMA — the leading provider of online digital art education.
Hopefully, we’ve given an answer to the question of why use Ruby on Rails nowadays and have outlined its main advantages and disadvantages. We use the best of established Ruby on Rails development practices as well as cutting-edge technologies to make products that work flawlessly.
This article was originally published in May 2021 and was updated in March 2022 to make it more relevant and comprehensive.