Ruby & RoR

-

Ruby is a high-level interpreted language developed in mid-90s. The philosophy behind it was to empower programmer to be fast, productive, and enjoyed in code development. This was a reason to make optional all unnecessary elements in language syntax (like brackets, semicolons and many more). Less code is better.

Ruby on Rails (RoR) is a framework created in 2004 which follows the Ruby philosophy and allows to rapidly build a fully working web application with a minimal amount of code. Two main RoR principles: DRY and “Convention over configuration” can be observed in every part of scaffolded project which can be generated from database to views without a single line of code. Just like that. Despite all of its advantages the popularity of Ruby seems to be decreasing - in time of writing this article Ruby falls on the 15th place in the popularity index (TIOBE index, February 2020). There is even an urban legend that Ruby and RoR are dying. Is that true? Before you start your coffin dancing let’s take a look on main problems pointed by critics of RoR.

 

The biggest argument which we can hear is slow performance. I can’t disagree that RoR, because of all magick it does for you, is slower than e.g. Spring in Java. But in fact it is only noticeable in very huge apps with tremendous traffic. Smaller services like Github or Airbnb (written in RoR) seem not to have any performance problems. It shows, that bad designed infrastructure or even database choice can have impact on our technology perception. Beside that, traditionally on Christmas 2020 we’ve get a gift from Ruby creators – Ruby 3 was released. Main improvement of new version is … performance boost. It claims to be three times faster than the previous version. They achieved it by introducing JIT, concurrency and static analysis of code. Additionally, in December 2020 RoR 6.1 was released which also provides performance updates and new cool features like multi database handling on model level. All of those improvements should additionally dispel performance fears.

 

 

Figure 1: https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/

Another argument raised against RoR are scalability problems when your app becomes very popular and it has to handle big traffic. But can we blame the framework for this? Architecture of the whole system should be responsible for that rather than the framework itself. Again, already mentioned services like Github, Airbnb or Shopify, which handle ten millions visits monthly, seems to not have any problems with that. With so called horizontal scalability we can handle really impressive traffic. This approach is commonly used to scale applications independently from technology. Blaming RoR for scalability problems seems to be some misunderstanding then.

 

 

Considering all of those facts, it looks like main allegations to Ruby and RoR are unfounded – especially nowadays – when we’re facing all of this ecosystem improvements. Continuous work on enhancements in all areas and still huge number of contributors are clearly on opposite to phrase that “RoR is dying”. It is still a good choice when you want rapidly create some project with a small budget.

 

 

AMB'S TECH INSIGHTS - AN ARTICLE BY MIŁOSZ

Miłosz has joined AMB in 2017 as a Frontend Engineer and quickly ramped up to support our partners using the Ruby on Rails framework and build a robust business solution based on such a tech stack.

Simultaneously Miłosz was extending his expertise on the latest JS-based frontend technologies like VueJS and REACT, so currently he's one of our experts in the frontend area.

 

 

DO YOU NEED HELP WITH WEB DEVELOPMENT? CONTACT US AT

CONSULTING@AMBSOFT.DE