您的位置:首页 > Web前端 > JavaScript

Ruby on Rails 3.1 Released, Brings Assets Pipeline, Streaming, and Javascript Changes

2011-09-05 11:41 441 查看
http://www.infoq.com/news/2011/09/rails-31

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
Streaming
Reversible Migrations
jQuery as the default JavaScript library

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 asset pipeline provides a framework to concatenate and minify or compress JavaScript and CSS assets. It also adds the ability to write these assets in other languages such as CoffeeScript, Sass and ERB.
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:

Streaming doesn't cut latency, neither it cuts the time a dynamic response needs to be generated. But since the application sends content right away instead of waiting for the whole response to be rendered, the client is able to request assets sooner. In particular,
if you flush the head of an HTML document CSS and JavaScript files are going to be fetched in parallel, while the server works on generating content.
The consequence is that pages load faster.
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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: