Why are we still choosing Ruby in 2020?

Hello, Habr! I present to your attention the translation of the article "Why is Ruby still our choice in 2020?" by Vira Vashkovska.



We are an experienced Ruby on Rails development team. Some of us have been developing in Ruby for years and know it like the back of our hand. This is why it takes a lot of courage for us to admit that Ruby is not at its best right now.



The language was very popular in 2013-2015, but then its popularity declined. This is especially noticeable when we compare Ruby and Ruby on Rails statistics for 2020 with the progress made by other tools. Stack Overflow did a rather trivial comparison of the growth dynamics of Ruby and Node.js based on the number of questions asked. Yes, this is not the most objective indicator, but you get the idea ...



image



Ruby users have dropped, but is that enough to announce the death of Ruby? Not really. If you've seen articles like "Ruby is Dead" or "Ruby is Irrelevant," brace yourself - at some point every language was declared dead. Take Node.js - the runtime is having good times - and yet people are rushing to announce its death.



image



Hasty views of the tool's demise are incredibly common among software developers. We have already seen many instruments declared dead, although this was not even remotely true. All seasoned developers know that stories of dying languages ​​and frameworks are popular.



Are Ruby and Ruby on Rails dead by 2020?



Obviously there is no smoke without fire. Ruby is by no means perfect: developers have been given several reasons to think about switching to other tools. Let's take a look at the most common criticisms of Ruby and Ruby on Rails and see if it has merit.



1. "Chaotic consumption of processor resources." It is known that CPU utilization in Ruby and Ruby on Rails reaches high rates out of the blue. Developers start their typical processes, open activity monitors and find that the CPU utilization is 50% or even 100%. As a rule, these changes occur for no apparent reason - the developers do not understand what they did wrong, and they have to kill the process.



Our comment: Ruby is not doing well with CPU utilization. Usually, to reduce consumption, it is enough to edit the configuration files and disable unnecessary background scanning processes. The problem is often the quality of the code; our only complaint is the difficulty in finding these problems.



image



2. "Dynamic typing is not a sign of good code." Dynamic typing in Ruby is not properly tested. Developers can make mistakes, create unreadable code and not be aware of it. Some people think Ruby code repositories are a magnet for tech debt.



image



Our comment: In Ruby, variables are dynamic: one variable can refer to different values, and you can change it at any time. This is what makes Ruby one of the fastest languages ​​to write code, so it is not a drawback. Ruby also has a great garbage collector that automatically detects technical problems and doesn't require manual configuration. Well-scaled successful projects using Ruby are proof that Ruby can be very orderly.



3. "There is no growth curve." It's not that Ruby has gotten terrible, it's just that other languages ​​have become much more powerful. JavaScript makes incredible leaps in quality every year, while Ruby grows steadily but slowly. Rails used to be a clear competitive advantage, but now every language has Rails-like frameworks.



Our comment: It's true that Ruby on Rails has inspired Node.js, JS, Python, and a host of other frameworks. In terms of updates, those who have been using Ruby all the time have noticed significant improvements in code speed and quality. Ruby on Rails in 2020 is as fast as JS frameworks - we have an article explaining this in more detail.



Ruby and Ruby on Rails is a must for many projects



Ruby is not a mainstream language, but it is one of the most efficient. People don't learn it for fun - they do it for work. It is used by Airbnb, Hulu, GitHub, and many other major platforms right now. Here are some additional statistics about Ruby-based sites and their traffic.



image



The Ruby on Rails 2020 ecosystem includes one of the most popular communities on GitHub with over 3,500 contributors. To give you an idea, Django, one of the most popular Python frameworks, only has 1,500. So, a comparison of Ruby on Rails and Django in 2020 shows that RoR actually does well.



Ruby development is fast and efficient



In Syndicode, we use Ruby for many reasons. First, the speed - writing projects in Ruby takes 30-40% less time than in other languages. This is because you need 3-4 times fewer lines of code than in Java or Python. The code is lightweight and improves performance.



Previously, Ruby had a reputation for being slow, but this can be solved with good coding practices. We fully agree with the guide posted by Shopify - it's easy to write fast Ruby code if you know how.



image



Benefits of Ruby Development for Product Owners



Coding speed, fewer lines, and great frameworks all seem like a development advantage. How about product quality and performance benefits? In our experience, Ruby has a lot to offer to businesses.



Fast time to market. Ruby on Rails is our choice for MVP development because it is the only tool that allows us to achieve high speed coding without sacrificing quality.



Flexibility. Because Ruby code is so quick and easy to edit, creating and publishing updates is an easy task. Developers can quickly release new features, introduce innovations to the marketplace, and adapt to user needs.



Popularity of Ruby on Rails in 2020: The Ruby on Rails platform ecosystem easily outperforms most backend development environments, including Node and Python tools.



Lots of free tools and libraries. There is a vast ecosystem of Ruby and Ruby on Rails gems and repositories: reusable code snippets that can be integrated into any project.



Cost-effective: With Ruby, you need to pay 2-3 times less for development. This is because the syntax of the language allows you to write quickly. Still, many features can be implemented with community-generated, ready-to-use code.



Cross-platform: Code written in Ruby works well across devices and operating systems, and across browsers. All of our websites, SaaS and marketplaces powered by Ruby work flawlessly in a cross-platform environment.



Security: Ruby and Ruby on Rails are ideal for data-sensitive applications (financial platforms, marketplaces, healthcare solutions, etc.). Ruby and RoR follow the secure development lifecycle: developers prioritize security tools, real-time monitoring tools, and adhere to high security standards.



Top 5 Areas for Ruby Development



There are hardly any aspects of web development that Ruby does not cover. However, based on our experience, we have identified 5 main types of projects where using Ruby instead of other general-purpose languages ​​"makes a difference."



Trading platforms



image



Ruby is used by: Airbnb, Hulu, Amazon



Marketplaces are huge web platforms that connect buyers and sellers, allow financial transactions, transactions and purchases. They handle large amounts of data, require high security standards, and are time consuming to develop.



We use Ruby on Rails for all of our projects in the market, including the highly successful Clean Agents and HotelCloud. This allows us to reduce development time, improve quality and quickly release updates.



Software as a Service



image



SaaS that use Ruby: Basecamp, Dribble



Software-as-a-Service is a platform that continually provides services on a regular subscription basis. Two criteria for building a successful SaaS are speed and security. After all, SaaS providers have a long-term responsibility for the success of their customers. Reliability, good performance, security, and fast updates are essential. This is why Ruby on Rails is the best choice for SaaS development.



Scalability: SaaS is growing rapidly - companies are growing at a rate of 50-60% per year. The codebase must adapt to new needs and handle high loads. Ruby and RoR allow you to quickly change functionality and adapt services to new requirements.



Cost Effectiveness: Ruby on Rails has one of the most significant ecosystems for web development. A large GitHub community, high quality gems, and ready-to-use libraries all contribute to a robust infrastructure.



We chose Ruby on Rails for InstaLinks, a SaaS that generates smart links accessible from desktop and mobile. RoR also meets the requirements of bigger projects like CRM - take a look at our case with UkrVit.



MVP



image



Companies that have used Ruby for MVPs like Twitter, Shopify, GitHub, Basecamp



Ruby, and Ruby on Rails are obvious choices for MVP development. MVPs need to be developed quickly β€” product owners want to distribute them to users, demonstrate considerate service to investors, and expand their reach.



Easy to build: even a small Ruby on Rails and Ruby team can create a large MVP;

Ease of learning: native developers can quickly join our project later because learning Ruby on Rails takes little time due to its simple syntax.



Here is an example MVP built by our web developers using Ruby on Rails. HelloCare is the healthcare marketplace, where safety and reliability have been our top priorities. Ruby on Rails allows us to move towards achieving these ambitious goals while keeping time-to-market and manufacturing costs low.



Cross-Platform Applications with Ruby on Rails



image



Cross-platform apps built with Ruby: Basecamp, GitHub A



mobile app must be able to leverage device APIs, send push notifications, and adapt to hardware and operating system characteristics. A good backend tool for a mobile app should send alerts, announcements, data sync. We use Ruby and Ruby on Rails to set up the back end for the database, web server, and application server.



Although we mainly use Ruby for web projects, we often refer to this language for cross-platform tools. This is exactly what we did with Kindercare, an application that automates the management and organization of day and preschool care. We have used Ruby and Ruby on Rails to develop mobile and web versions of the platform and the application has received excellent responses and high ratings worldwide.



Innovative services with the development of IoT and AI



Ruby on Rails is often seen as an affordable tool for simple projects, but it's actually much more than that. We love using Ruby and Ruby on Rails for ambitious products that use AI, IoT, machine learning, etc.



The language is powerful enough to accommodate complex innovations, and its simple syntax saves a lot of development effort.



Ruby Gems offers a lot of off-the-shelf code for AI and IoT innovation.



conclusions



Ruby never dies. Both the statistics and the experiences of Syndicode developers point to the same thing: Ruby is a practical language that is ideal for solving specific business problems. It may not offer any specific approach out of the box, which makes it less interesting to communities like Stack Overflow, but it works.



The future of Ruby on Rails is even more optimistic - rather, it is flourishing. It is still one of the most popular web development platforms, and even RoR-like frameworks have yet to catch up with the original. Ruby and Rails are fast and efficient tools for building web and mobile solutions - and the advantage isn't going anywhere.



If you are planning on building a marketplace, SaaS, or any web platform with a mobile version, Ruby is probably the right choice for your project. You will know for sure when you talk to the developers about it, so don't hesitate to contact us.



All Articles