Although Ruby on Rails (RoR) is almost 15 years old, nothing indicates that this framework will disappear from the world of programming. As a software house having over 20 RoR developers on board, we recognize it as a well-tested, stable, safe technology for web app development. According to BuiltWith reports almost 2 million websites are with RoR.
RoR framework is one of the most powerful ways to develop web applications in no-time. You can see it being used a lot in the marketplace: from Airbnb, Shopify, Basecamp to GitHub, everyone got to feel its power.
RoR is not only about technology - it's about the people who create it, use it, and benefit from it. We have over 2k Rails community members from 92 countries. Below you will find many examples of usage, what are the pros and cons, as there are no perfect frameworks made by men, the same as no human beings are perfect. But hey, do not worry, Rails is quite close to that :)
Table of Contents:
1. What is Ruby on Rails used for?
2. Ruby on Rails Examples: What companies are using RoR?
3. Is Ruby a good programming language?
4. Why Twitter moved to other technology? The case against RoR.
What is Ruby on Rails used for?
Ruby is a dynamic, object-oriented programming language on top of which Rails emerged as a framework. Rails is to Ruby same as Symphony for PHP or Django for Python.
The RoR story was written in 2003 by David Heinemeier Hansson. It began as a side-project and a way to improve the development process in Basecamp startup (and so we have the first example of usage, more below). Being quite an old framework is, in fact, an advantage for Rails. It has one of the biggest communities, stable, secure, and up to date mature technology.
What makes RoR extraordinary among other web development frameworks? The community. RoR is made by enthusiasts and professionals, non-profit. Rubyists are also responsible for creating thousands of open-source Ruby gems (over 150 000!) that extend and improve Ruby on any possible level.
"There's a gem for everything" - anonymous.
RoR is also widely tagged on stackoverflow.org (roughly about 300 000). It allows developers to easily look for help and advice or give one, which can significantly increase code quality and app development speed.
Ruby on Rails Examples: What companies are using RoR?
Who uses Ruby on Rails? There are plenty of examples. RoR entered the development scene in 2004, and since that day, many big companies have decided to use it to build a web application. I am sure that you already used some of them.
#1 Basecamp
Basecamp is the very first Ruby app. It is an all-in-one project management software that combines all the tools coworkers need to get their work done. Emails, chat threads, docs, ideas, plans, everything’s there. Right now, it is one of the most popular web applications for project administration and team collaboration. Over 16 million people use it, and this number is growing.
#2 Github
Github is the no 1. collaboration tool for developers. Seriously, I can hardly imagine the world without it. Thanks to GitHub, you can host and review code, manage development projects, and build software alongside 50 million developers worldwide. This Ruby on Rails application already gained over 2.9 million businesses, and organizations.
#3 GitLab
GitLab is a complete DevOps lifecycle tool for developers. Probably 2nd biggest in the world of its kind. CEO of Gitlab, Sid Sijbrandij, said that he chose Ruby on Rails because its ecosystem allows shaping much functionality at a high quality. Furthermore, Gitlab has enormous functionalities, and Ruby on Rails was a way to do it.
#4 Twitch
Twitch is the most popular live streaming platform and community for gamers. Users can watch the games and chat with each other. This application is growing dynamically. In 2020 the number of monthly users reached 140 million.
#5 Airbnb
Airbnb is a very popular vacation rental marketplace. This application aims to connect travelers and hosts who want to rent their house space to tourists. For the past 3 years, Airbnb has strengthened its position in the travel market. In 2019 over 187 million bookings were made through this RoR app.
#6 Shopify
Shopify is the top e-commerce platform, with over 1 million merchants in 175 countries. This company has existed since 2006 and currently hires over 5k employees. With Shopify, you can easily create an e-commerce website and sell everything you want.
#7 Dribbble
Dribbble is a very popular social networking platform for digital designers. It is a combination of a design portfolio platform and a jobs and recruiting website. In 2020 Dribbble growed to 12 million users. If you are looking for app design inspiration, you should definitely visit this Ruby on Rails application.
#8 SlideShare
SlideShare is a hosting service for content such as presentations, videos, infographics, or documents. This popular Ruby on Rails application allows users to rate, comment, and share the uploaded files. About 38 million people use SlideShare in their professional work.
#9 Twitter
Twitter is a real-time social networking giant, with over 353 million active users. Users use it for publishing breaking news (sports, politics, cultural, etc.) known as "tweets", allowing users to share and comment. Twitter was built using the Ruby on Rails web development framework. Later on, developers also started using Scala.
#10 Groupon
Groupon is a global marketplace, with over 34 million users from 15 countries. This application aims to offer local shopping deals from many categories like travel, restaurant, hotels, and other goods & services.
#11 Zendesk
Zendesk is a cloud-based Ruby on Rails application for customer support. The company offers the support or sales suit, and marketplace. The main goal of this app is to improve customer service and sales standardization.
#12 CodeCademy
CodeCademy is an online interactive platform that offers free and paid coding courses in 14 different technologies, including Ruby programming language. In 2020 CodeCademy reached over 100k paid pro subscribers, average monthly visits exceeding 6,5 million.
#13 Bloomberg
Bloomberg is a media platform, with over 71 million monthly views. Bloomberg publishes business & markets news, data, analysis, video and many more. The company hires more than 15k workers and produces software solutions for the financial market.
Is that everything? No, it's not. In this article, I mentioned only the biggest and most popular RoR web applications. There are plenty of examples: Couchsurfing, Ask.fm, Etsy, Hulu, Kickstarter, SoundCloud, GoGetty, HEY, Square, Cookpad, Fiverr, Jobster, Scribd, CrazyEgg, Xing, and the list goes on and on.
Is Ruby a good programming language?
Ruby is not a young code language, so people are wondering, "Is it a good choice nowadays?". From my point of view, it is an excellent choice for your web app. Here are the main advantages:
-
Speed of development
Developers who use it can build applications really fast compared to the competition, especially at the early stages which makes it excellent for startups or MVPs. Remember, the more time you save the more money you will save, it’s that simple.
-
Code quality
Ruby code, along with testing it, is exceptionally clear, readable and natural which makes it self-documentary, thus speeds up the process of creation and clarifies the project.
-
Testing the product
Rails focuses a lot on testing the application and making sure that the final product comes out without bugs and with the expected flow. Well tested code also comes with the benefit of total production time, it's some sort of investment for the future that saves time, money and keeps you away from unnecessary problems and stressful failures.
-
Mature technology
Experienced technology gives stability for future usage and maintenance. It also allows integration up to date with other technologies (for example with vue.js on front-end thanks to default js usage with a large field for customization)
-
Agile development
Do you have a dynamic project? Do you have an app that requires frequent changes, without delays, while keeping the flow and avoiding chaos? That's where Rails comes in handy, because Agile is its middle name.
-
Easy business logic implementation
Thanks to the principles stated above, you’ll love the ease of coding and the logic behind.
-
Security
Rails includes many features that already cover security issues like for instance SQL injection. Although this framework is not omnipotent in terms of protection, Rails can be supported by lots of gems to ensure you get the highest qualities of protection.
-
Convention over configuration (CoC)
The paradigm on which Rails stands is that the developer should only specify unconventional aspects of the application. Rails will handle all the necessary configuration for setting up a project.
This makes developers happy as they do not need to waste their time on basic stuff. A happy skilled developer simply comes with a better quality of code and it is all deeply rooted in Ruby:
“I believe people want to express themselves when they program. They don't want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby”
Yukihiro Matsumoto, Ruby creator.
-
Don't repeat yourself (DRY)
“Thou shalt avoid unnecessary code”! is one of Ruby’s commandments. Say good-bye to repetition. With Ruby you don’t have to reinvent the wheel, like for example db communication or template layouts. What’s the outcome? A faster startup or MVP development.
Why Twitter moved to other technology? The case against RoR
Ruby on Rails, as any other man-made technology, has some flaws. Although they are not visible at first glance, they are still there and can make you sleepless at night. Well, at least in some very, extremely rare cases.
Let's take a look at the most popular case against Ruby: Twitter moving away from it to other technologies.
"And that wall was not so much its code but in limitations in Ruby virtual machine. There are many things that Ruby is great at, but long-running processes? Particularly memory intensive ones? Not so much." - Alex Payne, Twitter developer
Scaling via concurrency, when working with long-running processes, is not the way Ruby was made, so no wonder it does not work as it might in Scala, for example. Abandoning RoR, for Twitter, was due to scalability problems. On the other hand, we have to remember that it was almost 10 years ago. Rails have become a lot better in its former weaknesses.
"Rails is so easy to use that in some cases it might be overused."
Most of the time, it may happen due to poor programming and architectural decisions as the project grows. When used by a team of inexperienced in that matter developers, it might get tricky and over-complicated while time passes and projects become bigger and bigger. As a result, after some time, rewriting a whole bunch of code can be needed in order to make a small change in users' features.
To conclude, Rails and Ruby as a whole is very flexible, one just have to know how to use it, the same as in any other technology.
Conclusion
So, is Ruby all sugar and spice? Of course, it’s not all black or white when we speak of programming languages and frameworks. In the end, they’re all man-made, right? We are not perfect, and the things we create aren’t perfect either.
Ruby might have its pros, but also cons. But when you draw the line, RoR stands out as one of the leaders in the web development community.
Ruby seems to shine brightly among the other technologies. And if you’re building a startup, Ruby might be the answer to all of your prayers (see the Basecamp example). If you care about time, quality and continuous integration, RoR is a good choice.
Looking for a Ruby on Rails development team? Currently, we are hiring over 20 experienced RoR coders. Download the presentation and get to know us better: