A few days ago, the Ruby on Rails team released version 3.1 of the most popular web framework for Ruby, almost exactly one year after their last major release of Rails 3.0. These are the highlights of the release:
- Assets Pipeline
- Reversible Migrations
The assets pipeline is the major change in Rails, and there's a complete guide that describes how it can be used and what it does:
The assets pipeline was also the topic of David Heinemeier Hansson's RailsConf talk.
Streaming means that Rails now supports HTTP streaming, which is also known as chunked transfer encoding. The advantage of streaming is that the web server can start transmitting the response before it has been fully computed. The Rails team explains the benefits of streaming in their blog:
There's also a Railscast that explains how to set up streaming for a Rails application.
Rails has supported down migrations for a long time, so why are reversible migrations new? Until now, you always had to write the down-migration yourself, but Rails 3.1 can now do this for you. Rohit Arondekar explains how the magic works:
Basically if you define a change method [instead of up and down methods as before] in your migration and are applying the migration then the commands are executed as normal. However while reversing the migration, the commands are recorded and a list of inverse commands is generated and run. Inverse commands are simply commands that perform the opposite of the original command.
These are only some of the changes in Rails 3.1, there are dozens more in the detailed release notes for you to discover. For example, a configuration option to force SSL has been introduced. To see if your plugins are already working with 3.1, check out and contribute to railsplugins.org.
Do you plan to upgrade your applications? Austin Hughey has some advice in his article on The H.
Hyped in 2006..
Just my 2 cents for Monday.
Re: Hyped in 2006..
I agree with Ruben; just try it. If you don't know where to start, do the Try Ruby tutorial. When you are done, I recommend reading Russ Olsen's "Eloquent Ruby" book (Addison-Wesley). Learning basic Ruby is not going to do it for an experienced programmer. To really understand the power of the language, you have to quickly transcend the basic syntax.
Once you've got a handle on Ruby the language, play with Rails, RSpec, and ActiveRecord. After a week with those frameworks, you'll dread doing anything else in another language.