The Ruby on Rails project has
delivered a beta release of Ruby on Rails 3, the latest major version
of the popular Web development framework that features Merb integration.
In a blog post announcing the new beta release, Rails creator David Heinemeier Hansson,
wrote: "You thought we were never going to get to this day, didn’t you?
Ye of little faith. Because here is the first real, public release of
Rails 3.0 in the form of a beta package that we’ve toiled long and hard
over."
Yet, the technology has been delivered, albeit in beta and, as such, "surely not perfect yet," Hansson noted.
Rails 3 is focused on bridging the core Rails technology with the
new ideas brought in from the Merb team, which joined the Ruby on Rails
development effort. Merb is a model-view-controller (MVC) Web framework
written in Ruby. And Rails 3 delivers the best features of Merb and
Rails into a single new release.
In a blog post, Yehuda Katz, a member of the original Merb team turned core Rails committer, said:
“One of the things that most surprised and impressed me is the Rails
core team’s (and especially DHH’s) attention to detail and the
experience of the beta release. For weeks, we’ve been ‘this close’ to
releasing, but the experience of starting up a new Rails app or
upgrading from a Rails 2.3 app still felt too unpleasant. In this kind
of situation, it’s tempting to say ‘it’s just a beta—people who use
beta software know what they’re getting,’ but that would have been a
major cop-out. For many people on the leading edge, a poor beta
experience will shape their perception of the product as a whole. So we
waited a bit, but now we’re finally here.”
Moreover, the Rails 3 release notes said:
"There are all the good ideas brought over from when the Merb team
joined the party and brought a focus on framework agnosticism, slimmer
and faster internals, and a handful of tasty APIs. If you’re coming to
Rails 3.0 from Merb 1.x, you should recognize lots. If you’re coming
from Rails 2.x, you’re going to love it too."
Also, among what Hansson calls the "headliner features" are:
· Brand new router with an emphasis on RESTful declarations
· New Action Mailer
API modeled after Action Controller (now without the agonizing pain of
sending multipart messages!)
· New Active Record chainable query language built on top of relational algebra
· Unobtrusive
JavaScript helpers with drivers for Prototype, jQuery, and more coming
(end of inline JS)
· Explicit dependency management with Bundler
In all, "the new version feels lighter, more agile, and easier to
understand," Hansson said. "It’s a great day to be a Rails developer."
Indeed, the team did its best to make the transition to Rails 3
easier for developers. According to the Rails 3 release notes:
"...we’ve tried our best to deprecate the old APIs with nice warnings.
That means that you can move your existing application to Rails 3
without immediately rewriting all your old code to the latest best
practices."