Looking for top software development talents? They are just a few clicks away.

State Of Ruby On Rails Web Development At The Beginning Of 2021

Jan 13, 202111 min read

Robert Krajewski

Co-founder and CEO of Ideamotive. Entrepreneur, mentor and startup advisor.

As the needs of developers and users change, so does technology. As basic tools for building applications, frameworks are no different. What was convenient and popular yesterday may lose its need and relevance today.

 

Ruby on Rails, a framework written in Ruby and released in 2004, is often cited as an example of this change. The framework that was once one of the most popular is now considered outdated and dead by some.

 

Each year and every release have brought us something new. Let us show you, what is the state of Ruby on Rails on the threshold of the roaring twenties!

 

What's new in Ruby on Rails?

Ruby on Rails will turn 16-year-old this year. Lots of changes have been introduced both in the language and in the framework. As a Ruby on Rails development company, we have always been waiting for new releases. Many people involved in the development of RoR have ensured that it will be ready to meet the upcoming challenges.

Ruby on Rails in 2020

Ruby on Rails 6.1

These release notes cover only major changes. For other updates, various bug fixes, and changes, see the changelog or the commit list in the main Rails GitHub repository.

 

Also, before upgrading an existing application, it would be good to have test coverage before doing so. Besides, prior to attempting to upgrade to Rails 6.1, you must first upgrade to Rails 6.0 and ensure that the application is still running as expected.

 

Key new features in Rails 6.1:

  • Action Pack - devs removed deprecated force_ssl at the controller level.
  • Action Mailer - the team got rid of deprecated ActionMailer :: Base.receive in favor of Action Mailbox.
  • Active Storage - Deprecated Blob.create_after_upload was changed in favor of Blob.create_and_upload. (Pull Request) + added Blob.create_and_upload to create a new binary object and load io into the service. (Pull Request)
  • Action Text - now we have a method to confirm the existence of rich text by adding ? after the rich text attribute name. (Pull Request) + they added the fill_in_rich_text_area system test helper to find the trix editor and fill it with the specified HTML content. (Pull Request)

Ruby in 2020

Ruby 3.0.0

Ruby 3.0.0 is an upcoming open-source dynamic language update that is already available as a preview. Key features of the new version include parallel execution and type declaration capabilities.

 

What are they?

Ractor

Parallel execution comes in the form of an experimental function called "Ractor," which is an abstraction of parallelism, similar to the Actor model, designed to provide parallel execution without thread safety concerns. Developers can create multiple ractors and run them in parallel. These concurrent programs can be made thread safe because ractors cannot share common objects. Communication between ractors is maintained through message passing.

 

To limit sharing of objects, Ractor introduces several restrictions on Ruby syntax.

 

The specification and implementation are not being finalized or changed in the future, therefore this feature is marked experimental.

 

example of using Ractor

RBS

Ruby 3.0.0 also introduces RBS, which is claimed to be a language for describing the types of Ruby programs. It allows you to parse and process type definitions. Type checkers, including type profilers and other tools that support RBS, will better understand Ruby programs.

 

RBS is designed to support common patterns in Ruby programs. Extended types are supported, including union types, method overloading, and generic types. Programmers will be able to use the definition of classes and modules: methods defined in a class, instance variables and their types, and inheritance/mixing relationships.

 

RBS example

Scheduler

In version 3 of the language, a scheduler has also been added, which is at an experimental stage, to intercept blocking operations. Referred to as Thread #scheduler, this feature allows easy concurrency without modifying existing code.

 

These are currently supported classes/methods:

  • Mutex#lock, Mutex#unlock, Mutex#sleep
  • ConditionVariable#wait
  • Queue#pop, SizedQueue#push
  • Thread#join
  • Kernel#sleep
  • IO#wait, IO#read, IO#write and related methods (e.g. #wait_readable, #gets, #puts).
  • IO#select is not supported.

The current entry point for concurrency is Fiber.schedule {...}, however, it may be changed by the time Ruby 3 is released.

Other notable features

  • Memory Representation, another experimental feature, is a set of C-APIs for exchanging a raw region of memory, such as a numeric array or bitmap, between extension libraries. These libraries can also share metadata for a region of memory that consists of a shape, an item shape, and so on.
  • Improved performance of the Ruby MJIT (Just In Time Method Based) compiler.
  • Added separation of keyword arguments from other arguments.
  • Hash#except is now inline.
  • Added right assignment operator.
  • Added infinite method definition.
  • Adding a search template.

 

The current stable Ruby releases are 2.7.1 and 2.6.6.

Ruby on Rails and Ruby in 2019

In 2019 there were two major releases for Ruby on Rails. First, there were Rails 6.0 and then Ruby 2.7.0. Let's see what changed.

Rails 6.0

We had known it would come. Some things were available independently before, but now they have all been picked and packed into this new release.

  • Action Mailbox makes it easier and more reliable to work with various email clients;
  • Action Text — you can now easily use rich text content in your applications;
  • Multiple database support — new Rails come with the new simple API for multiple databases;
  • Parallel testing — now it is possible to use your computer's all cores. Yes, you can still perform some tests in the old way if you want;
  • Zeitwerk Mode — new code loader provides autoloading, eager loading and reloading making your work more efficient.

Some say that with Rails 6.0 too many features come in the Rails' core. They say they would see those features as optional gems instead. At the same time, others claim that these changes show the framework's maturity.

Ruby 2.7.0

As usual, this one came at the end of the year. Among more changes, these four mentioned below are most important.

  • Pattern Matching — an experimental feature that lets you find value of a given object if it matches the pattern;
  • REPL improvement — new, better environment supports multi-line editing and provides integration with rdoc;
  • Compaction GC — this one will help you make your RoR apps even more efficient. Now it will be possible to defragment a fragmented memory space.

 

Since these two releases took place, new gems and versions have appeared. If you want to keep up with the RoR world, we highly recommend following the official Ruby on Rails blog that proves how active is still the development process of the framework.

Is Ruby on Rails dead?

Every year thousands of developers ask this question: Is Ruby on Rails hot, or is it stone-cold dead? CEOs and product owners are a bit less passionate about it, but they still want to know if this weirdly named framework is still relevant and a good choice to them? Some say that it's the best your company can get to develop a sophisticated solution. Others claim it's dead. (Whatever it means...)

 

It is probably not the last time we answer this question, but first, let's take a look at the numbers and statistics of Ruby on Rails.

  • There are 4346 GitHub contributors to the ROR’s source code;
  • The framework has been downloaded over 130 million times up until now;
  • According to the Stack Overflow 2019 survey Ruby was ranked the 12th most popular programming language. It means that Ruby has again advanced in this survey (when compared to last year). Meanwhile, Ruby on Rails was ranked 11th among Web Frameworks (category absent in 2018 survey);
  • As per the 2020 ranking Ruby, which was in the top 10 of this list as recently as 2017, has declined, giving way to newer, more trendy technologies such as Go and Kotlin;
  • The TIOBE index highlights Ruby as one of the 20 most popular technologies used around the world. It also shows that the language is becoming more and more popular each year — it started in 22nd place in 2003 and climbed up to 11th place in 2019. However, in 2020 it lost 4 points and is 15th now;
  • According to BuiltWith.com, there are currently around 2,066,793 live websites running on Ruby on Rails. The framework is popular in all major countries known for their great devs, like the United States, UK, Canada, and Germany;
  • In the USA only, there are almost 380,655 websites based on RoR, and some of them get over 300M visitors monthly;
  • If you check Monster.com, there are over 5600 Ruby On Rails jobs waiting for

RoR developers are sure - Rails are still relevant in 2020. 

 

Given the numbers, why do some developers keep prophesying the death of Ruby on Rails? Maybe because it's not new anymore. After almost sixteen years everyone in the industry has heard about RoR and its advantages. Moreover, the framework has matured with every new release. Of course, we're all waiting for Ruby 3.0, but probably, it won't be as game-changing as the emergence of Ruby on Rails years ago.

 

So, Ruby on Rails isn't dead. Some of us simply got used to it, as the framework grew up. Is there anything wrong in being mature and fully reliable?

Who Else Makes Use of Ruby on Rails Web Development?

It is worth noting the fact that the Ruby programming language is mainly used by professionals. 

 

Therefore, even a beginner Ruby programmer is an experienced web developer with a lot of knowledge and experience. For the Ruby language, the most popular framework is Rails, over 90% of web applications that are written in Ruby use Rails.

 

Over the past 16 years, Ruby on Rails and its community have had ample time to mature, improve, and move forward. It also had plenty of time to build on the trust of developers and investors, breathing life into famous products like MyFitnessPal, Airbnb, Kickstarter, Basecamp, Dribbble, Goodreads, GitHub, GitLab, Fiverr, COOKPAD, Couchsurfing, Zendesk and possibly thousands of other projects you may have never heard of. Want to see proofs? Have a look at 50 Best Ruby On Rails Companies Websites

 

All of this happened despite people saying that "Rails doesn't scale" or "Rails can't be used for serious problems."

 

All these companies usually long for new Ruby on Rails developers to be hired, expanding the use of the framework.

 

Ruby on Rails Community In 2021

 

What is really great, however, is how Ruby on Rails developers love giving back to the community. 

 

As mentioned before, the framework has almost 5000 contributors on GitHub — it is really an impressive number, especially comparing it to around 2950 contributors of Django, the most popular Python framework.

 

"No developers" statement is an absolute myth. There are developers and you can find them very easily. Of course, there are fewer of them than in PHP, but the average level is "a cut" higher - many of those who call themselves PHP-programmers are actually just layout designers with a superficial knowledge of the programming language who are not able to write even the most simple web application. 

 

 

In general, Ruby on Rails developers tend to have solid experience in the field



If you compare Ruby with Java, then the number of developers is comparable, but compared with .NET, Python, and Perl, there are many more Ruby ones.

 

On top of that, the Ruby on Rails community is also well-known for its openness and helpfulness. Ruby is broadly considered a great programming language for beginners due to the simplicity of the code. 

 

 

RoR community is very active in contributing to this technology. More than 50% of Ruby devs contribute to open source projects at least once a year.

 

 

 

Besides, it is also chosen by rookies because of a huge number of Ruby and Rails-related blogs, repositories, wikis, and other sources. Thanks to this, the problems in the development process can be resolved faster, making the final product available for the final release earlier.



There are quite a few places where you can safely start your Ruby on Rails Web Development journey. We ourselves highly recommend:

  • Ruby on Rails web page — most up-to-date information about new releases, guides and basic know-how;
  • RubyFlow — A popular linklog of the Ruby on Rails community. New interesting pieces are posted there daily by both experts in the field and newcomers;
  • RubyLand.news — A very often (sometimes even hourly!) updated site on Ruby. It covers a lot of tutorials and tips, so if you are having some issues with your development process in Rails, there is a huge chance the solution can be found on RubyLand;
  • Ruby Tapas — This place is for more advanced Ruby developers, who seek for more sophisticated ideas in programming. Run by Avdi Grimm.
  • rails/rails: Ruby on Rails - Ruby on Rails development is done in a Git repository hosted on GitHub.
  • Issues · rails/rails · GitHub - GitHub Issues is used to account for bug reports and patches.

Also, you can follow the core team members:

  • David + Commits - Creator of Ruby on Rails, Founder & CTO at Basecamp & HEY, NYT best-selling author, and Le Mans 24h class-winning racing driver.
  • Jeremy + Commits - he does web & email speed, systems, and security at Basecamp and HEY, as well as Ruby on Rails, all open-source, all open web.
  • RafaelCommits - Self-appointed Rails policeman, Rails Core Team Member, Principal Engineer at Shopify.
  • RoR community - other core team members

 

Looking for some great Ruby on Rails experts to read and follow on social media? Read our 40 Ruby on Rails Experts, Bloggers, and Influencers to Follow in 2021 blogpost!

The Best Choice Around Here

Despite almost 16 years since the first release of Ruby on Rails, the framework is still widely used among professional developers. Actually, as the stats show, the number of its enthusiasts keeps growing every year. 

 

At the beginning of 2021, Ruby is something far away from just a fun and easy to learn programming language for those starting their software engineering career. 

 

More importantly, it is one of the most viable solutions for creating a great, user-friendly website or web application. 

 

Still doubting in this statement? Let’s show you the next info:

Quick Planning + Development

You don’t have to perform deep research in order to find out a number of experts offering Ruby on Rails consulting as well as Ruby on Rails development agencies offering to create your product efficiently. Ruby and Rails allow delivering finished websites and web apps fast without hurting their stability or performance. Also, costs of building MVP and Time to Market are low.

Growth Goals

It can get even more interesting if you look at what Ruby on Rails creators are preparing to deliver in the nearest future. Ruby itself is heading towards the so-called 3×3 goal — it is planned to become even 3 times faster than Ruby 2. 

Best from a business standpoint

This will of course incredibly change the Ruby on Rails Web Development, making it even more interesting from a business standpoint. 

 

Except for the upcoming improved performance, there are also all the other great things one should remember about Ruby and Ruby on Rails, such as:

  • The framework is an open-source solution. This means you can get it and use it for free. Wondering why so many successful start-ups are using Rails? This is your answer — it is just incredibly budget-friendly.
  • Ruby is easy to learn. This means that even if you already have software engineers at your company working with some other languages, the transition to Rails should not be painful. Moreover, as more and more rookie developers are picking up Ruby, it may be easier for you to find suitable developers for your new project or company. Besides, there are a plethora of highly skilled specialists who strive for an interesting project. Again, a factor that makes RoR budget-friendly.
  • There are tons of helpful RoR experts in the internet community — we already said it. But what is also important is that Ruby takes pride in a huge number of libraries, known broadly as gems. They usually cover very specific functions of a website or app (think of integrating a credit card payment system with your product, for example), making it even easier and faster for developers to finish a project. Some of them are now parts of the Rails core.
  • The development process in RoR is quick — partly thanks to the vast libraries of gems. Some say there's a gem for everything. Built-in tools make developers' job easier and more efficient too.
  • Thanks to the multiple database support, Ruby on Rails became the most productive framework for building a database-backed web application.

 



Yes, there are other solutions that are good. Let's take a glimpse on PHP. It's as old as the mountains and probably won't surprise you with anything. But it won't surprise your customers either. Then, if you want to build something extraordinary, Ruby on Rails is your best chance.

 

If you're dealing with much more complex challenges, you might think about employing Django. This framework written in Python is one of the best solutions for database-heavy applications. 

 

However, unless you're going to build a gargantuan system designed and developed by experts who know each and every secret of Python's syntax, Ruby will be a better and most cost-efficient solution.

Should You Use Ruby On Rails In 2021?

There are no simple answers when choosing a tech stack for a new project. If you're just learning about Ruby on Rails, check the Ruby on Rails Guide we have prepared. There's a massive amount of knowledge there, that will help you decide. 

 

But, if you're an old stager, here are some last comments for today.

Use RoR in dramatically different enterprises

Are you planning a new e-commerce project? 

 

Good. Choose Rails, just like the Internet giants like Shopify and Groupon (RoR is great for e-commerce and marketplaces).

 

Aiming to revolutionize a more orthodox industry? 

 

Follow the steps of platforms like Couchsurfing, Airbnb, and Slideshare — they all make use of Ruby on Rails.

 

Maybe you are just planning to take your company into the 2020s as soon as possible and make its website more suitable for new clients? 

 

Ruby and Rails are ready for you in this situation as well.

 

We highly recommend going through some of our favorite Ruby on Rails Web Development case studies. They will surely show you the scope of possibilities RoR can provide to both small start-ups and big corporations.

Ruby on Rails is getting better and better

After almost 15 years, it's a really mature and reliable framework. We know it because we've worked with RoR for many years. 

 

If you're looking for a trustworthy contractor, let us know how we can help your business grow.

Robert Krajewski

Robert is a co-founder and CEO of Ideamotive. Entrepreneur, who with passion spreads digital revolution all around the internet. Mentor and advisor at startup accelerators. Loves to learn and discover new business models.

View all author posts

Looking for a specific type of software development service?

Take your business to the hypergrowth phase.

Work with software development experts from Ideamotive's talent network.