Oh Hey, It's A Rails 3 Beta
It's been well over a year since the Ruby on Rails and Merb teams announced that the projects would merge for the upcoming Rails 3 release. Like most of you, I haven't been closely tracking the progress on a regular basis. Fortunately, a number of my friends and colleagues have been much more involved, contributing to and tracking the progress of the effort.
From an outsider point of view, watching their updates and conversations, I've seen a mixture of intense enthusiasm about the overall project direction along with pessimism about the sheer amount of code that's been rewritten or replaced. None of this is surprising of course; merging two well-loved web frameworks into one entity while undertaking a major architectural overhaul is not a task to be trivialized :).
In any case, here we are, February of 2010, and we finally have a Rails 3 beta release, something maybe not quite finished but fully usable -- a snapshot of what the next evolution of the premier Ruby web framework will look like.
So that means it's time for me to stop slacking and get up to speed. And you too! Here are some excellent resources to help get you up to date if you haven't been tracking it closely:
* The official release announcement and release notes.
* Jeremy McAnally has written a great series of posts familiarizing users with Rails 3. His Introduction is a great place to start.
* McAnally describes the process of upgrading an existing Rails app using his (now official) Rails upgrade plugin.
* McAnally on Greenfielding new apps with Rails 3.
* The new Rails Plugins directory where you can browse Rails plugins and record Rails 3 compatibility information.
* A comprehensive retrospective written by core team member Yehuda Katz.
* A slighly out of date but excellent (and free) Peepcode screencast demonstrating the Rails 2 to 3 upgrade path.
* Want more? Check out this even bigger list of Rails 3 links from Peter Cooper over at Ruby Inside.
Personally, I'm really looking forward to playing around with the new beta on a greenfield project. The Rails core team has a solid track record for delivering usable releases, and the majority of the restructuring sounds spot-on, addressing concerns that many of us have had in the past.
The renewed focus on looser-coupled components and being maybe not-quite-as-opinionated should make the framework itself more flexible and more appearling to a wider demographic, at least in theory. The overhauled ActionMailer API, unobtrusive JS helpers, and use of bundler for dependency management are all nice changes (although I've definitely had some issues using bundler in the past).
That said, this is still a big jump. And, although I'm anxious to try out the rails upgrade plugin, I doubt that I'll be moving my current Rails 2.3.x project over just yet ;-).