Rails 7 - what is new?

Paweł Dąbrowski - Chief Technology Officer
rails, ruby, software, web development

The 7.0 release brings Rails closer to the ideal of ‘The One Person Framework’. What does it change for existing web apps and brand new products?

Rails 7 – what is new?

The latest Ruby on Rails version – Rails 7 – is now in production. It was released on December 15, 2021, and is a continuation of the vision for simplifying the development of robust web applications in a short time. The latest version of Rails tackles both the front- and back-end challenges. It employs the latest technologies and embraces:

  • Improved security
  • Even better developer efficiency
  • A no-Node approach to the frontend with access to NPM packages and modern JavaScript
  • And more.

The framework’s creator – David Heinemeier Hansson – said that the latest release brings Rails much closer to the ideal of ‘The One Person Framework’.
In this article, we’ll take a closer look at the most important features that Rails 7 brings to web app development.

Ruby on Rails in 2022

Ruby on Rails is an open-source server-side framework used to build web applications. It applies the Model-View-Controller (MVC) architectural pattern, providing default structures for databases, web services, and web pages. Developing apps in Ruby on Rails is cost-effective, flexible, and super-fast.
Ruby on Rails was built by David Heinemeier Hansson in 2005 and revolutionized web development. The framework has been actively developed ever since, and in 2022 it’s also used by both, early-stage startups and enterprises, such as Airbnb, Shopify, or Twitch.
Despite that, we’ve seen a lot of people asking whether Ruby was dead all these years. Ruby on Rails has actually experienced a renaissance in 2021. It’s still the best tool on the market for quickly bootstrapping startup and large enterprise applications in a short time.
And with the new version bringing a lot of fresh and game-changing features to the table, Rails is more powerful than ever. Sorry, haters! 😉

Rails 7 – what is new?

Let’s take a look at some of the new features that Rails 7 brings to web app development.
Stimulus JS framework is now available by default
The Stimulus framework has been integrated directly as the new default. Stimulus is a JavaScript framework that helps to manipulate existing HTML code and add JavaScript code to it. It’s a perfect replacement for frameworks like Vue or React when we want to quickly build a rich web application with outstanding user interface design.
Stimulus pairs with Turbo (also the new default). Together, they deliver a complete solution to build applications with a great user experience with a minimal amount of coding effort.
Improved security with encryption on the database layer
As for backend upgrades, Rails 7 keeps the data encrypted while it’s live in the database. Rails provided the usual at-rest and in-transit encryption before, but the at-work encryption provides an extra security layer. The Active Record Encryption implemented in Rails 7 enables developers to define what constitutes sensitive information in a product and control how this information can be accessed.
It allows to encrypt any value in the database and decrypt it inside the application. However, by default, it’s not possible to query a column with an encrypted value. In order to do so, you need to switch to a less secure mode.
Node.js is no longer required to manage JavaScript assets
Rails 7 replaces Webpacker with import maps as the default. The import maps feature allows to directly pin a JavaScript library into a Rails application using a content delivery network (CDN). It’s also possible to download all assets into the application directory instead of employing a CDN, which may result in increased effectiveness if we optimize performance.
Using Webpack, Esbuild, or Rollup is for a more advanced setup (for example, for React and JSX) remains possible.
Improvements to the Active Record library
Active Record is responsible for representing the business data and logic in Rails applications. Now it provides a new querying method – asynchronous querying – which fetches records in the background. It’s yet another significant performance improvement.
Asynchronous querying is an easy way of checking whether a given association is present for the record we want to pull from the database. It also enables to easily pull only one record from the database, and raise an error if no record is found, or when multiple records are found.
To access the complete list of changes, see Ruby on Rails 7.0 Release Notes.

Choose Rails 7 in 2022

If your app runs on Rails 6.1 or an earlier version, upgrading it with the latest features of Ruby on Rails 7.0 will ensure increased security, more cost-effective maintenance and development, as well as improved app performance and user experience.
In case you’re planning to build a new product in 2022, we highly recommend using Rails 7 to avoid extra update costs and benefit from simplified software development.
At iRonin.IT we’ve been building Rails applications from scratch and managed system updates for over 10 years. Our experienced software developers are there to:

  • Streamline your upgrade
  • Make sure your app works smoothly using the new system
  • Develop a new RoR application.

Get in touch and let’s see how we can help you.


Let’s get in touch
Author's Bio
Paweł Dąbrowski

Chief Technology Officer

Open source fan and growth seeker with over a decade of experience in writing for both human beings and computers. I connect the dots to create high-quality software, valuable relations with people and businesses.

Similar articles
Comments

Bulletproof your development with remote team augmentation

Read how
This page is best viewed in portrait mode
Our websites and web services use cookies. We use cookies and collected data to enhance your experience, provide additional communication channels, improve marketing materials and enhance our offer. IRONIN SP. Z O.O. SP. K. is committed to protecting all the data that we collect or process in any way, especially data of personal nature. By accepting these terms you agree to our usage of cookies and processing your data, according to our Privacy Policy, and you declare that your browser settings reflect your preferences. Read more You have the right to revoke this agreement at any time, based on the terms of our Privacy Policy. You can change cookies settings in your browser. If you do not agree with us using cookies and processing your data, please change your cookies settings in your web browser and reject these terms. You can find more information about cookies, your data privacy This site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies. data processing, and your rights in our Privacy Policy.