Robert Krajewski
Co-founder and CEO of Ideamotive. Entrepreneur, mentor and startup advisor.
In sync with the shifting needs of developers and users, technology continues to evolve in 2023. Frameworks, serving as fundamental building blocks for application development, are no exception to this trend. What was considered efficient and popular yesterday might not hold the same need or relevance today, underlining the dynamic nature of technology and the importance of staying abreast of these changes.
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 at the beginning of the roaring twenties!
Ruby on Rails will turn 18-year-old this year. Lots of changes have been introduced both in the language and in the framework. As a marketplace providing top-notch Ruby on Rails developers 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.
This version of Rails has been in development for years. This is the embodiment of the idea to present a truly integrated approach to web development that solves both external and internal problems with equal energy. The omakase menu includes everything from aperitif to dessert.
Yes, you got us right! JavaScript in Rails 7 no longer requires NodeJS or Webpack. And you can still use npm packages.
Transpiling ES6 with Babel and building with Webpack requires a lot of customization. While Rails supported it pretty well with the Webpacker gem, it brought in a lot of baggage and was difficult to understand and hard to make any changes to, especially while still being upgradeable.
Now the default for new applications created with rails new is the import of maps via the importmaps-rails gem. Instead of writing package.json and installing dependencies with npm or yarn, you use the ./bin/importmap CLI to pin (or unpin or update) dependencies.
With this setup, keep in mind that there is no transpilation between what you write and what the browser receives. This is ok for the most part, as all major browsers now support ES6 out of the box.
But that also means that you won't be able to use TypeScript or JSX as they require transpilation to JS before use.
So, if you want to use React with JSX, you still have to go back to a different setup (using webpack / rollup / esbuild).
Apps built with Rails 7 will get Turbo and Stimulus (from Hotwire) by default instead of Turbolinks and UJS. Hotwire is a new approach that allows you to quickly update the DOM by sending HTML over the network.
Rails 7 allows you to mark certain database fields as encrypted using the encrypts method in ActiveRecord :: Base. This means that after the initial setup, you can write code like this:
class Message < ApplicationRecord
encrypts :text
end
You can continue to use encrypted attributes just like any other attribute. Rails 7 will encrypt and decrypt it automatically between the database and your application.
But there is a small quirk here: you cannot query the database on this field unless you pass a deterministic: true parameter to the encrypts method. Deterministic mode is less secure than the default non-deterministic mode, so only use it for the attributes you absolutely need.
There is now a load_async method that you can use when querying data to get results in the background. This is especially important when you need to load multiple unrelated requests from a controller action.
This is a breaking change for older applications that still run the classic bootloader. All Rails 7 applications should use Zeitwerk mode, but switching is pretty easy.
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.
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.
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:
Also, you can follow the 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 2022 blogpost!
According to the StackOverflow Report 2021, RoR takes 13th place out of 18 contenders to be the most used web framework. This means that the number of decent devs able to bring all the advantages of this technology to your project is gradually decreasing.
According to the aforementioned Stack Overflow poll, the more popular the technology you use, the less you pay. And vice versa.
Although there is one caveat: the more popular the technology, the higher the risk of getting low-quality code and spending even more on fixing bugs; as more people learn the technology, the competition is higher, but the quality of the code is lower.
Ruby is not yet as big as it gets, which is an added benefit of using this technology if you can find qualified and experienced developers and choose the outsourcing cost depending on the country you prefer.
Ruby is cool, but it can be expensive if you are developing in the US or Central Europe.
The rates in the USA are among the highest. A developer's dream, but horror for startups.
According to LinkedIn, there are over 70,000 people in the country who are pursuing their careers as Ruby on Rails developers.
You will always have a choice of American developers. However, as we mentioned earlier, the hourly rate for a Ruby on Rails developer in this region can be a bit high, ranging from $75 to $250, depending on the seniority of your developer.
Europe is the second-largest market after the United States.
The rates vary greatly depending on which part of Europe you are looking for developers.
The highest hourly rates relate to the development of rails, which are charged while in the European Union; especially in Germany ($40-65), Sweden ($45-100), Norway ($40-75), and the UK ($60).
On the other hand, in Eastern Europe, rates start at $30 per hour.
Typically these outsourcing locations are chosen to save even more development costs, which can be an option if your project has a tight budget.
You know the pitfall: saving money can compromise the quality of your code.
On average, RoR developers charge between $25 and $50 an hour in India and up to $50 an hour in China.
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:
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?
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.
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.
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:
The current entry point for concurrency is Fiber.schedule {...}, however, it may be changed by the time Ruby 3 is released.
The current stable Ruby releases are 2.7.1 and 2.6.6.
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.
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.
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.
As usual, this one came at the end of the year. Among more changes, these four mentioned below are most important.
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.
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.
RoR developers are sure - Rails are still relevant in 2023.
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.
So, Ruby on Rails isn't dead. Some of us simply got used to it, as the framework grew up. Is there anything wrong with being mature and fully reliable?
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 18 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.
Despite almost 18 years since the first release of Ruby on Rails, the framework is still widely used among professional developers.
In 2022, 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:
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 services as well as a Ruby on Rails development company 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.
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:
Yes, there are other solutions that are good. Let's take a glimpse at 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.
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.
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.
After almost 18 years, it's a really mature and reliable framework. We know it because we've worked with RoR for many years.
This is an incredible time to work with Ruby on Rails. The largest applications built on this platform are constantly setting new records for coverage and scaling. The competition to recruit the best Rails developers is fiercer than ever. The influx of new contributors continues to push the framework forward every week.
No need to search for a Ruby on Rails development company. If you're looking for trustworthy engineers look no further than our marketplace. Let our Rails developers know how they can help your business grow.
Robert is a co-founder 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 postsTrending articles
21 Dazzling Examples of Mobile App UI Design to Inspire You in 2023
Michał Pruciak 7 min read
MedTech vs HealthTech vs BioTech: What Are The Differences?
Michał Pruciak 7 min read
Best React Native Boilerplates to Use In 2023
Michał Pruciak 6 min read
10 Business Applications of Neural Network (With Examples!)
Michał Pruciak 4 min read
What Are The Best Frontend Frameworks To Use In 2023?
Dawid Karczewski 16 min read
Looking for a specific type of software development service?
There are dozens of vetted Ruby on Rails professionals in our talent network.
Interested in getting new projects as a RoR developer? Join as a Talent.