Why Should You [Still] Choose Ruby on Rails for Your Product Development
Ruby on Rails is becoming an even more mature technology, since its initial release occurred 18 years ago. Having emerged as a white knight for the area of web app development, Ruby on Rails is still in use, but concerns about its relevance and popularity are rising more and more often. So in this article we will answer the following questions:
- Is Ruby on Rails dead or still alive?
- Why leverage Ruby on Rails in 2023?
- When to use Ruby on Rails and when to shun it in favor of more competitive technologies?
Is Ruby Still Alive In 2023?
Rails 7.0.4, 6.1.7, and 6.0.6 were released in September 2022. These versions include fixed bugs, improvements of performance, and other enhancements. A year before that, the first alpha version of Rails 7 was released. We can see an active community that has managed to turn thinking into doing and fulfill a full stack with a web development approach, tackling challenges on the front-end and back-end. But releases don’t fully reflect the situation in software development, so to figure out whether Ruby on Rails is dead or still alive, we’ll take a look at stats.
Stack Overflow reveals the list of the most popular technologies, where Ruby is in 14th place: 6.37% of respondents (professional developers) leverage it.
According to the TIOBE Index for November 2022 — a conditional indicator of the popularity of programming languages being formed which takes into account the total number of software developers, third-party vendors, and courses related to the particular technology — Ruby lands in the TOP 20 most-used programming languages.
The stats prove that, of all the options available in the market, choosing Ruby on Rails for your product makes sense in 2023. As for Ruby’s obsolescence, it’s not as critical RoR helps to solve business tasks and serves as the core technology for MVPs, Content Management Systems, dynamic websites, eCommerce solutions, booking, social networking, and other apps. However, the competition among technologies intensifies, and we should take into account a number of criteria when choosing a tech stack for the product. And despite the relatively slow performance and scalability challenges of Ruby (known as the major drawbacks), a lot of world-renowned companies still use it for their apps.
They Are Still Using Ruby
Empowered by C, Shell , Ruby, and MySQL, Github has become a leading hosting source code service among software developers. The number of companies using GitHub has reached 1.8M, including both well-known businesses and startups. Here you can find projects under the hood of Github and ensure that Ruby is still there.
What makes Airbnb stand out from competitors is its functionality rather than the tech stack. This service represents an online marketplace that allows you to find the right place to stay while traveling or earn money by hosting guests. As of the fall of 2022, Airbnb operated in 191 countries, and the tech stack includes Ruby on Rails for web development because, despite the influx in data, it allows the company to efficiently manage bookings along with transactions.
Known as a leading eCommerce company, Shopify has been gaining traction since its establishment in 2006. Currently, it caters to businesses of all sizes involved in online sales and, therefore, interested in online stores. Shopify’s tech stack is built around dozens of tech solutions and components, though Ruby lies in the core of the platform due to its flexibility and cost-effectiveness of the operations management.
Dribble is a social networking platform for designers, where they can share and discover mockups and animations, hire other designers, or get feedback on their work. The platform has been fueled by Ruby on Rails since 2009 and is still favorable toward it. And what sounds even more impressive is that Dribble clones emerging on the web leverage the same tech stack. Planning to take their place under the sun and inspired by Dribble listed among fastest-growing platforms, these clones rely on RoR as the appropriate tech solution.
Ernst & Young
As for now, Ernst & Young — professional services network with 359,449 employees — operates in Europe, the Middle East, Americas, and other regions, according to Statista. Ruby on Rails is still used by the Ernst & Young website, playing a crucial role in its sophisticated architecture.
Ruby on Rails usage goes beyond the above mentioned companies: Groupon, Coinbase, Gitlab, Zendesk, Etsy, Crunchbase, Ask.fm, Fab, and many other well-known firms began their journey with RoR, gradually complementing their tech stack with Go, Python, Java, etc. Moreover, this year, businesses still get on the right track with products built on Ruby on Rails.
To Use or Not to Use Ruby on Rails, That is the Question
When it comes to choosing the right tech stack, you should focus on functional and nonfunctional requirements that are put forward to the product and risks you may come across going down a particular route. Keep this in mind, that we’re going to analyze Ruby on Rails in terms of its pros and cons and find out why the opinions about whether Ruby is still alive are so controversial.
Plentiful criticism of Ruby on Rails arose over the years because of its performance and issues with scalability. Slow performance of Ruby compared to C++, Golang, or any other compiled programming technology isn’t a myth: it takes more time to execute the code, and we can feel the difference when dealing with large high-loaded projects. Although Ruby is slower, Rails app optimization may smooth out the situation with performance. Caching, avoiding excessive memory consumption, and competent scaling turn out to be essential for RoR apps.
But how about the fact that Ruby on Rails isn’t scalable enough? Being able to support over half a million businesses simultaneously, Shopify refutes this claim. Therefore, RoR apps are scalable enough even with minimum cost if you have the right team backing you up with software development.
What this team can do to provide RoR scalability is code simplification, applying modular approaches to development, and saving the app state on the client side. Yet the complexity of scaling depends on the architecture, and choosing the right one from scratch significantly simplifies future tasks related to scaling. So companies need to be more mindful not to ignore the ecosystem of the solution at the starting point, while keeping in mind the possible influx of user requests. And in the following paragraph, we’re going to offer a glimpse of the pros and cons of RoR that may tip the balance in favor of the framework application for the product development.
Ruby Advantages and Disadvantages
We’ll take a look at Ruby disadvantages without embellishment, while addressing the ways to tackle these problems. Often you can see three complaints that occupy the main positions among all the negative reviews of Ruby on Rails:
- Low runtime speed and performance issues (we’ve already described the ways to deal with that problems by optimizing RoR apps)
- Decline in popularity (finding seasoned Ruby on Rails developers can become an arduous challenge since the learning path they should go through is a winding one; however, the popularity of Ruby on Rails is declining more because of evolving competitive technologies like Lavarel, Django, and Node.js)
The disadvantages of Ruby on Rails are partly conventional, and thousands of companies all across the globe leverage it as the main technology.
Why do these companies find Ruby on Rails alluring? Actually, the number of its advantages is still impressive, however we are going to highlight the five most important ones:
1. Fast development
With Ruby on Rails as a core product technology, speed of development becomes impressive. This is because of the syntax and ready-to-use solutions, so-called gems, numbering 174,319. Since timing means money and even symbolizes a tight ropewalk for MVP development and startups, by which a small slip or any delay can lead to failure, Ruby on Rails seems to be a strategic choice. As for enterprises, they also still use Ruby on Rails to build products from scratch or enhance their solutions.
2. High level of security
Enterprises experience security breaches, suffering from social engineering and phishing. And since cybersecurity gaps provoke reputation problems and financial losses, it’s crucial to opt for the right technology when starting development. And with Ruby on Rails by your side, it’s possible to minimize the number of risks related to cross-site scripting, cross-site request forgery, SQL injection, and clickjacking, though you need a mature team capable of securing RoR applications.
3. Use of simplicity
Because of the straightforward syntax, Ruby on Rails programmers solve complex tasks by using fewer lines of code. Among the main pillars RoR rests on, programmer happiness seems to be the main one, according to The Rails Doctrine. Clear syntax allows RoR developers to switch between projects without being distracted by lengthy onboarding. Therefore, the greatest asset of Ruby on Rails is its convenience, and the simplicity of developing and maintaining the code.
4. Strong and cohesive community
United around the idea of Ruby on Rails development as a technology, the community knuckles down and permanently improves the framework. The core team consists of contributors who have been working on Rails improvement since 2003. More than 6,000 engineers have contributed to RoR, helping to steadily tackle problems, add new features, and speed up the releases. To put it more bluntly: with a strong community, RoR is becoming a mature technology, so developers can easily find assistance or answers to their questions by going through lessons, forums, or other educational materials, when solving complex issues.
5. Easy implementation of business logic and compatibility with other technologies
Being a full-stack framework with controllers and modules, Ruby on Rails enables developers to implement even sophisticated business logic standing behind web apps. APIs and gems contribute to that. Moreover, if you need to add the frontend framework and employ it along with RoR, it won’t take much effort. And here we again return to main RoR advantages — cost-effectiveness and speed of development.
What to Use Ruby For?
As a technology, Ruby holds strong positions in the following areas:
- Web applications (especially developed as MVPs and startups)
- Back-end development for mobile apps (Java, Kotlin and Swift are the most common option for mobile development, but Ruby can efficiently support backend development ins such cases)
- E-commerce products (not only can Ruby fuel online stores, this technology is capable of supporting additional modules, from customer relationship management and payment tools to inventory and marketing components)
- Static site generators (these generators apply templates and raw data to generate static HTML websites, and Ruby can serve as a core technology for them, which is proved by Jekyll, which was released 14 years ago)
- Automation and DevOps (should you need to streamline and automate installation and configuration of applications, Ruby can help with that. Check out Heroku, Vagrant, Chef and Puppet — all are amazing tools for automation and DevOps tasks)
- Web servers (handling requests with Ruby is a common case)
- Data processing (although parsing, analyzing, and storing data are performed with the help of Python, Ruby comes in handy if we need to clean, transform, and validate data)
- Web scraping (complex research and analysis can be performed with Ruby, which is leveraged to extract and parse information)
Whatever solution you’re building with Ruby — a social networking app, fintech software or an edTech platform — security comes to the fore. And as we’ve already mentioned security as a key Ruby advantage, let’s amplify that position.
Ruby on Rails has proven to be balanced enough from the point of view of safety and resistance to attacks. The protection from cross-site scripting lies in the screening of potential malicious components performed in the automated mode. RoR applies different approaches to counteract risks. For example, marking each line with a flag html_safe (the lines where it isn’t set are additionally filtered by Rails before the output). Or by leveraging special code constructions for secure data output.
As for cross-site requests, Ruby on Rails has token authentication to deal with such attacks. Also, it’s important to comply with additional safety recommendations related to POST and DELETE queries.
One of the RoR vulnerabilities is connected to Mass assignment capabilities, which enables attackers to alter values in database columns and create new records in tables. But seasoned ROR developers can easily minimize risks in that case.
However risk-averse Ruby on Rails environment and syntax are, your web application — be it an online store, static site generator, or other product empowered by Ruby — can be protected only if the team involved in its development foresees potential risks and ways to handle them. Despite high security and other RoR advantages, you shouldn’t make the final decision about the tech stack before comparing it to Django, Laravel, Node.js, and other competitive technologies.
Ruby vs Others/Alternatives
Fullstack web development with Ruby has become a reality after the release of Hotwire, which is suitable for building the interactive frontend for apps. So now we can see more and more fullstack web apps fueled by Ruby. Yet focusing on Ruby rather than competitive programming languages can still be justified. Let’s see how Ruby correlates with competitors.
In terms of security, Node.js technology is inferior to Ruby because of the npm packages, which can consist of vulnerabilities of a different nature that hadn’t been detected before use. While Node.js wins in terms of performance, Ruby still can be considered for solving the following tasks:
- Fullstack web application development
- Ecommerce projects
- Web crawling and scraping
- Social networks development
Ruby/Rails vs PHP/Laravel
As a general-purpose scripting language, PHP has been applied for web development for more than 25 years. An impressive number of frameworks and libraries make it a flexible programming language with an enormous community. In 2011, Taylor Otwell released Laravel, a PHP framework aimed at facilitating such web development tasks as authentication, routing, sessions, and caching. So, let’s find out the balance of power between PHP app development and Ruby app development.
From the point of view of performance, PHP overcomes Ruby. But however fast Laravel is, Ruby on Rails is the leader in terms of development speed. Core principles of these frameworks largely overlap. Laravel has proven its effectiveness in the area of enterprise level applications, yet Ruby’s community is wider and stronger.
Ruby/Rails vs Python/Django
Python is a general-purpose programming language, which has been gaining traction since AI has entered a new stage of development. Having appeared 31 years ago, Python is turning into a silver bullet algorithm for building ML models. But when we compare it with Ruby, we should emphasize the key differences:
- Ruby serves for functional programming and web development, while Python has found application in different branches of AI and academic programming.
- Ruby is 100% OOP language, while in Python development these principles are implemented only partially.
- Principles of declaring variables and working with them differ.
Django is a Python framework used for backend development. Unlike Ruby on Rails, it doesn’t support full-stack development. In terms of performance, these frameworks are similar. And communities supporting Python and Ruby are both strong and widespread.
Why Is Ruby Great For Startups?
With Ruby on Rails, startup implementation doesn’t fall behind the schedule. Ruby on Rails is great for MVP development, quick iterations and product scaling. Businesses can climb onto firm ground quickly, and since timing for startups is a key success factor, RoR looks like an ideal technology. It’s open-source, great for API development, and enables reduced time-to-market.
Some of the famous startups using Ruby include the following big names:
Not only have these startups rocketed to success with Ruby, they have also successfully scaled and transformed their tech stack. And because of its maturity and stability, Ruby can still make those developers involved in building startups from scratch happy.
What best characterizes one’s expertise in RoR development? Real case studies and projects. So, let’s take a glimpse at products we’ve developed with Ruby.
RoR Case Study #1: Cloud Provider Application
The project is a class-leading public cloud service, but with the comfort of having an experienced and accessible personal support team at the end of the phone or email when you need them.
With many public cloud services, this key element of support is completely missing or only included if you pay an additional and costly monthly fee. Most of the time you are often left to fend for yourself.
With Cloud service you get all the benefits you’d expect of a highly scalable, secure, rapid cloud-based deployment platform, but with greater emphasis on security, data integrity, and, of course, that all-important personal support.
The system was created using the most recent technologies and their versions, like Rails 7, Hotwire, PostgreSQL, and Sidekiq, which provides a web interface for customers to create different clouds and pay for them. Cloudstack is used for creating Virtual Machines and other resources. Also, it has a user-friendly interface for the Admin Panel to manage invoices, customers, etc.
RoR Case Study #2: Social Network Application
Big social network application that aims to evolve the relationship between people and technology by helping to compound the activities that lead to the betterment of humanity. We do this by changing the impact social networking has in our lives, expanding on the positives it provides, and remedying the negatives.
It brings the best innovative UI practices and user experience in the social networking industry.
Main features are:
- Registration / Login / User profile with custom settings
- Public and private posting features
- Commenting and reactions
- Complex user feed depending on the big list of features
- Real-time chats
- Geolocation and maps
- Invitation functionality
The list of technologies are:
- Native iOS: Swift, Combine, CoreData, NetworkFramework, Alamofire;
- Native Android: Kotlin, Dagger 2, Litho, RxJava;
- Ruby backend: Ruby/Ruby on Rails, PostgreSQL, Redis, Docker, Kubernetes;
RoR Case Study #3: Office Space Booking Application
This web app helps manage and book Desks and Meeting rooms in the office. The tech stack consists of the most recent technologies and their versions: Rails 7, Hotwire, Stimulus, Dry-monads, Sidekiq, Administrate, Oauth, etc.
The core features
Users can manage the booking and scheduling of space availability. Thus, there is never any hassle to do it manually. Authorized users have the ability to choose a desk and book it for a period of time (or on a recurring basis). The system can be distributed to any company’s amenities whether it is border games or rooms.
Users can see who is in the workspace on any given day so that colleagues can easily coordinate their presence.
The app provides users with a complete view of all space availability in a single dashboard, with a room booking functionality that controls who has access to specific spaces and when.
The application gives the opportunity to book the whole meeting room for an exact period of time by using a calendar, which is a key point of the system. Here the user can easily view and manage the bookings by moving between days, weeks, and months.
The system enables users to search for available meeting rooms filtering by preferred location, capacity and available amenities. So people will always find the right space to collaborate and make the most of their meetings.
There is also the ability to leave feedback if any desk is broken or if people lack some utilities. With this information, office administrators will proceed on their attempts to eliminate the mentioned impediments.
How to Give a Green Light to Your Project With Mobidev?
The MobiDev Ruby team can generate a huge amount of opportunities for your project. We know that experience and well-defined processes make difference, and here are the standards sequence we adhere to when working with Ruby projects:
- Check all existing input/documentation/designs from the client.
- Decompose the project into smaller parts that can be estimated.
- Identify and prioritize the critical parts of the project and possible risks.
- Create a technical vision of the project (suggested architecture design and technology stack).
- Prepare a detailed estimate for each part of the project with details, comments, questions, and a list of suggestions.
- Sometimes we can prepare small demo projects to show some examples and that’s the remarkable advantage of Ruby on Rails for startups.
- Update the final estimate and provide the timeline and strategy for the project.
- Development stage.
- Consult the client for future development features and timelines.
- Make a periodical security and code quality review.
- Support the project, when the client needs our tech assistance.
Here, at MobiDev, we cherish our projects and put as much effort into them as possible. Moreover, Ruby has been in our field of vision and among core development technologies for a long time now. Therefore, if you have any project in mind, feel free to drop us a line. The chances that it will be built with Ruby on Rails are high. The framework is still relevant, and our seasoned team of Ruby engineers knows how to transform it into the product’s strength.