Ruby on Rails in 2020
Ruby on Rails may be experiencing a resurgence and increase in popularity after several years of being pushed to the backburner. Ruby on Rails (RoR) was first introduced by David Heinemeier Hansson, founder and CTO of Basecamp, back in 2004. It quickly started growing in popularity as “the open-source web framework that's optimized for programmer happiness and beautiful code” [1]. It allows programmers to use readymade solutions to common issues when building web applications, saving them time and money in the development process.
As technology advances, frameworks must adapt to address new programming challenges and RoR is no exception with every release offering new features and additions while balancing maturity and stability over competing frameworks.
Over the last several years, the demand for RoR has remained somewhat stable. RoR currently stands at 5721 contributors and counting and has been downloaded over 254 million times [2] [3]. Some still wonder if the platform is dying out, or if 2020 hinting at a resurgence and increase in popularity.
The myths surrounding RoR’s demise comes from a number of misconceptions about the framework and the language it’s based on.
1. Scalability problems- RoR was first accused of being difficult to scale when Twitter changed from Rails to Scala. However, server system architecture was partially responsible for the slowdown and scalability deficiencies that RoR was blamed for. Rails has several scaling options including code optimization, service-oriented architecture, and horizontal scalability. A good example to counter this claim is Shopify, who is able to scale and support more than 500,000 businesses at a time the platform [4].
2. Slow performance- Compared to other frameworks like C++ and Java, runtime speed for Rails is fairly slow. RoR requires a little extra time to execute the code, so inexperienced developers tend to make the wrong decisions when writing the code. This problem becomes much more apparent with huge products and large-scale traffic. With a well-thought-out architecture and infrastructure, however, even larger apps, or their parts, written in rails can be fast [4]. The developers behind Ruby and RoR’s inherent performance issues are actively working on making improvements with each new version that comes out.
Highly opinionated- Some developers may find it difficult to showcase their creativity because Ruby on Rails operates on a number of fixed rules and default code samples. RoR makes it challenging to deviate from its preset logic and it usually takes an incredible amount of work to do so, although it is not impossible. If a developer decided to build an unconventional architecture or extended features that go beyond Rail’s traditional guidelines, they must choose between sacrificing time or originality [5].
The Case for Ruby on Rails- Now that we’ve discussed a few of the myths regarding RoR’s “downfall,” let’s look into some of the compelling reasons why this framework is still an excellent choice and powerful contender among its competitors.
- Community- Not only is the source code free to download, but Rails comes with a large and well-developed community, which means there’s an immense amount of support or help available. The Ruby on Rails community is well-known for its openness and a large community that houses thousands of gems (or libraries) that other developers can use.
- Convenience- Ruby is regarded as an easy programming language and the same is said about the Ruby on Rails framework as well. Ruby has built-in logic to eliminate the need for complex coding, which makes both writing it and reading it very simple. It is convenient due to quick development, simple and readable syntax, and innumerable built-in solutions [7]. Developing with RoR is also time efficient because it does most of the heavy lifting when creating and updating a database and routing.
- Code Quality- RoR makes the use of TDD (test-driven development) and BDD (behavior-driven development) to build a bug proof high-quality web application. These two development processes are applied with definite code coverage to further improve the software architecture. It was designed to inherently conform to web standards by using paradigms like coding by convention, DRY and active record pattern. The process of writing highly standardized and convention-based code permeates the community and enforces strict code quality [8].
- Convention over Configuration- The decision to favor convention over configuration is so valued that it is the second ranked pillar on the Rails doctrine. This means that developers can focus on what really matters, rather than spending time re-coding repetitive tasks and reconfiguring mundane settings. This also means that Ruby code is cleaner, less prone to bugs, and is easier to troubleshoot problems as and when they occur. This paradigm is especially beneficial when someone is working on a low-budget with short deadlines.
- Companies using RoR- Many large and well-established companies prefer Ruby on Rails because of its readable syntax and convenience. The most common types of apps built with Ruby are Minimum Viable Products (MVPs), social networking apps, ecommerce platforms, and platforms that support complex databases like GitHub and Bloomberg.
Ruby on Rails is now 16 years old, and it's clear that RoR is not going away anytime soon because what Ruby on Rails once had in popularity, it has gained in maturity and stability [6].
STAND 8 is supporting several clients with professional services and staffing building teams with RoR Developers and Principal Engineers. Reach out today to discuss how we can support your business or next step in your career!
By: Meghan Pickett and Jessica Delaney
References:
1. Ideamotive Team (May 27, 2019). “Choosing Ruby on Rails for your Next Web Development Project” https://www.ideamotive.co/ruby-on-rails-development-guide#is-ror-right-choice-for-you
2. Rails Contributors. “Rails Contributors - All time” https://contributors.rubyonrails.org
3. Ruby Gems. “Rails 6.0.3.4” https://rubygems.org/gems/rails
4. Nowak, Maja (February 21, 2020). “Why Ruby on Rails Is Still a Good Choice in 2020 [UPDATED]” https://www.monterail.com/blog/why-ruby-on-rails-development-2020
5. Avashia, Pratha (September 4, 2020). “Why Ruby on Rails (RoR) is still a good choice in 2020” https://www.solutelabs.com/blog/why-ruby-on-rails-is-still-a-good-choice
6. Baugh, Daniel (August 20, 2020). “Ruby on Rails in 2020” https://dockyard.com/blog/2020/08/20/ruby-on-rails-in-2020
7. Morgunov, Alex. “Is Ruby on Rails dying? [2020 edition]” https://sloboda-studio.com/blog/tech/is-ruby-on-rails-dying/
8. Lum, Mitchell (February 9). “Ruby on Rails Isn’t Dead” https://medium.com/@mklum88/ruby-on-rails-isnt-dead-d4e1b21a5435