The Ruby on Rails community has delivered a Release Candidate version of the next major release of the popular Web development framework Ruby on Rails, Ruby on Rails 2.3 RC 1.
In a blog post from Feb. 1, David Heinemeier Hansson, the creator of the open-source Ruby on Rails technology, said: “Rails 2.3 is almost ready for release, but this package is so stock[ed] full of amazing new stuff that we’re making dutifully sure that everything works right before we call it official.”
Hansson then called on Rails developers to help test the latest release, as, “Lots of the underpinnings changed. Especially the move to Rack. So we need solid testing and will probably have a slightly longer than average release candidate phase to account for that.”
Indeed, “This is one of the most substantial upgrades to Rails in a very long time,” Hansson said.
Hansson listed among the top features in Rails 2.3 RC1:
“Templates: Allows your new skeleton Rails application to be built your way with your default stack of gems, configs, and more.Engines: Share reusable application pieces complete with routes that Just Work, models, view paths, and the works.Rack: Rails now runs on Rack which gives you access to all the middleware goodness.Metal: Write super fast pieces of optimized logic that routes around Action Controller.Nested forms: Deal with complex forms so much easier.“
Dana Jones, lead developer for Sterling Rose Design, which specializes in Ruby on Rails development, said, “I think the most visible change is the nested attributes handling. It was the most-requested feature for quite awhile, and now the core team has delivered it. It will make it a lot easier for developers to build complex, nested forms without having to write a lot of ‘kludgy’ code by hand to slot the incoming parameters. Another big change-that won’t even be apparent to most developers-is the move to Rack and away from CGI. This should hopefully result in improved load times for Web pages. There are a lot of new features that will make developing Ruby on Rails applications faster and more convenient-smarter partials, dynamic and default scopes, among others-but I think the nested attributes and Rack changes are really the biggies.”
Justin Kay, a Rails developer at Northwest Real Estate Capital, said, “The thing that stands out to me is the huge scope of this release. There are a lot of fundamental changes going on in the codebase that are tied into the merging of Rails with Merb. The move to Rack being one of the key pieces.”
Bob Martens, another developer who specializes in Rails, said of Rails 2.3 RC1, “For me, personally, the most convenient thing is the addition [of] Templates to the core of Rails. Even though I really am just starting out with Rails, in the grand scheme of things, being able to have some templates to work from in order to speed up initial development is going to be great. I can set up one to use PostgreSQL for the database for larger applications and one with SQLite for simple ones. I can set up which gems I will use for all applications, which will save me some time there as well. It is a convenience thing for me, and another great reason for me to use Rails.”
Developers Evaluate Ruby on Rails Updates
And some of the development team at Intridea, a consultancy and software development and support shop that focuses on Ruby, Rails and agile development, weighed in with thoughts on the new Rails version.
“I’m looking forward to the addition of Application Templates,” said Adam Bair, part of the Intridea team. “At Intridea, we regularly create brand-new applications for our clients; this feature will give us the ability to bootstrap new projects quickly and easily so we can deliver the initial iteration of an application that much faster.”
Pradeep Elankumaran, another Intridea team member, said, “Moving to Rack finally changes Rails into a project that efficiently utilizes most of the newer Ruby libraries and practices.”
Intridea developer Brent Collier said, “I’m a fan of the new default scope. Also, the nested attributes will definitely make multimodel forms easier out of the box.”
And Brendan Lim, yet another developer at Intridea, said, “I’m excited to hear that engines are coming back into Rails in 2.3. This will allow us to have modular, reusable applications that will work within other applications-like we have created with our SocialSpring platform in the form of coils.”
Matt Jankowski, chief operating officer at Thoughtbot, a Web development consulting company that has been building Web applications with Ruby on Rails since late 2005 and says now 100 percent of its new project work is Ruby or Rails, said, “It’s encouraging to see stable releases with interesting if not earth-shattering new features continuing to be released. Obviously the ‘big news’ for Rails over the next six months is the merge with the Merb project, but we’re glad they got this feature-plus-stability release out the door before that came.”
As for specifics of the new release, Jankowski said the Rack support “is a great change, and I think adds to the momentum we’re seeing for Rails being part of rather than the entirety of the ‘Ruby Web framework ecosystem.’ The way Rack works it’s trivial to swap in and out different Ruby apps to be part of one larger Web project, and we’re glad Rails embraced this standard.”
Regarding Engines, Jankowski said the promise of this feature is appealing to Thoughtbot developers, as Thoughtbot often builds applications with similar functionality.
“We’ve seen other frameworks and languages try this concept to varying degrees of success, so I think the jury is still out on whether this will succeed-but we give the core team credit for at least creating an official way by which people can succeed in this area, and really exposing as much of the framework as needed to do this right,” Jankowski said.
Moreover, he said a quick survey of Thoughtbot developers shows that other Rails 2.3 upgrades such as nested form support, backtrace silencer integration, dynamic scopes and routing efficiencies are very popular “supporting cast” features in the new release. And, “We have a passionate split on the inclusion of Object#try into Rails core,” he said. “Half of us are disgusted by it, the other half think it’s great.”
Overall, said Jankowski, “We’ve been really impressed with the core team’s ability to respond to feedback that the community felt like it couldn’t get things into Rails or understand the process. I think this release is very community-invested, and it looks like Rails 3.0 will be more of the same.”
Besides, Jankowski said, “Ruby 1.9+ plus Rails 2.3+ plus the still growing library of gems and plug-ins being created by everyone make the Ruby Web community a fun place to be productive.”
Ian McFarland, vice president of technology at Ruby on Rails consultancy Pivotal Labs, said, “2.3 just came up in our morning stand-up today. You can tell the guys are enthusiastic about it from the title of this blog post: Standup 2/2/2009: Rails 2.3 is gonna be sweet. … In general, this feels like a nice set of improvements and clean-up. There wasn’t anything in this release that felt speculative or off-target, which is great.”
Hansson did not say when he expects Rails 2.3 to be generally available. However, it is likely to be available by RailsConf, the annual conference for Ruby on Rails developers, which will take place in early May in Las Vegas. Hansson and others have said a preview version of Rails 3.0, which will include integration with Merb, is slated to be available at RailsConf.
Editor’s Note: This story was updated to include comments by Pivotal Labs’ Ian McFarland.