No PhD

I work for Nature Publishing, but I haven't got a PhD

Rails 3 is going to rock

with 2 comments

Yehuda Katz presented the keynote at Rails Underground this morning, and very interesting it was too. The core of his speech revolved around the new version of Rails. Added to the usual tenets of convention over configuration, DRY, etc was a new concept. Opt-in.

Rails 3 has been broken down from a monolithic framework to a set of loosely coupled modules tied together with stupidly simple public interfaces. The router is a module, the renderer is a module, validation is a module, etc, etc. Any can be used or not in your Rails app, or indeed your vanilla Ruby/JRuby/MacRuby app. This direction is beneficial for many reasons:

  • New Rails projects can just pull in the parts of the framework they need.
  • Existing projects can easily remove dependencies on parts of the framework they don’t need.
  • Rails components can be swapped out for alternative implementations

He showed examples of how Sinatra can now effectively be implemented in Rails, how ActiveSupport has been broken up to be more useful outside Rails, and how ActiveModel has replaced ActiveRecord. Very interesting, and very promising. Apparently the APIs will be settled within the next few weeks so edge Rails is going to be stabilising in terms of the interfaces.

One thing is for sure. Rails is going to be a a very different beast.


Written by spanx

25th July, 2009 at 1:03 pm

Posted in Code

Tagged with

2 Responses

Subscribe to comments with RSS.

  1. Just to be clear: the normal use of Rails 3 will be nearly identical to the normal use of Rails 2. The things I talked about will improve plugin quality and make extremely performance-sensitive apps easier with Rails, but won’t necessary change the vast majority of Rails apps.

    Yehuda Katz

    25th July, 2009 at 2:31 pm

  2. Yeah, I should have made that clearer. It’s very different internally, but the guys are ensuring the developer experience for the 90% case is consistent with Rails 2


    25th July, 2009 at 2:58 pm

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: