Ruby On Rails 7 Moves To No-Node Default
Written by Kay Ewbank   
Tuesday, 21 December 2021

Ruby on Rails has been updated to version 7 with major improvements that the developers say is the fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor.

Ruby on Rails is a web-application framework written in Ruby. It is intended for creating database-backed web apps using the model–view–controller framework.

rails logo

The move to a no-node model has been made possible through advancements in browser support for ES6/ESM and widespread adoption of HTTP/2, according to the launch information.

The developers say that Hotwire’s combination of Turbo and Stimulus deliver all the tools needed to produce fantastic user experiences that are much less complex to create, so the new method is the default choice for new Rails apps, replacing the far more limited options of Turbolinks and Rails UJS.

For applications that still have a dependency on Node, there are improvements too. You no longer need to use Webpack with Webpacker, and instead can choose any JavaScript bundler you prefer.

Describing the improvement, David Heinemeier Hansson,
creator of Ruby on Rails, said:

"Whether you like esbuild (and who doesn’t these days!) or rollup.js or even Webpack, you’ll be able to use any of them through the new jsbundling-rails integration that can be pre-configured for new apps with --javascript esbuild."

The same approach is taken with CSS bundlers that rely on Node. With Rails 7, all they need to be able to produce is a compiled application.css file, and they’ll integrate perfectly.

Away from the front-end improvements, the Rails team has added encrypted attributes to Active Record, so your application can offer at-work encryption in addition to the traditional at-rest and in-transit coverage.

Active Record also now has the ability to trace query origins with SQL comment tagging as QueryLogs, and asynchronous query loading is now supported. Hansson says that when you have a controller action that needs to load two unrelated queries, you can now do it concurrently through Relation#load_async:

"If you have three complex queries that each take 100ms, you’d have to spend 300ms executing them one by one before. Now you can run them in parallel, spending only a total of 100ms on the set."

Rails 7 is available for download now.

rails logo

More Information

Ruby On Rails

Related Articles

Rails 6 Adds Action Mailbox And Parallel Testing

Ruby On Rails Survey

Top 10 From Around The Web: Ruby On Rails Resources

Top 10 From Around The Web: More Ruby On Rails Resources

Ruby On Rails Reaches 5.0 


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Apache Shiro 2.0 Released

Apache Shiro 2.0 has been released. The Java security framework now requires at least Java 11, and has added support for Jakarta EE 10.

We Built A Software Engineer

One of the most worrying things about being a programmer today is the threat from AI. It has gone so far that NVIDA CEO Jensen Huang proclaims that you really shouldn't start training as a programmer  [ ... ]

More News

raspberry pi books



or email your comment to: