Title: From Rails to Rack: Making Rails 3 a Better Ruby Citizen
Speaker
Yehuda Katz (Engine Yard)
Abstract
Rails 3 is on its way, and Yehuda Katz is giving attendees a sneak peek! With the advent of the Rack spec and library, Ruby web frameworks can interact in unprecedented ways. Imagine a Rails application routing to a Sinatra application, or Merb-style exception pages that catch exceptions from Rails or Cloudkit. These are focal points of Rails 3 and Yehuda's talk.
The idea is simple: create a tiny API for interaction between elements of a web application. Instead of requiring special mechanisms for tests, controller instantiation, or CSRF forgery protection, design apps as a collection of such elements strung together into a stack. As with Unix pipes, limiting the interaction between elements makes powerful combinations a snap.
In addition to Rack, Rails 3 will have better support for other Ruby packages, leveraging the work Merb did to support app-specific bundles. It will limit the changes it needs to make to the global namespaces, making it easier to use Rails together with other Ruby code without fearing that the changes that Rails will conflict with the other code. Finally, components of Rails 3 will be available, in an unprecedented way, as libraries that can be used outside of the web framework context to perform different kinds of work. For instance,
ActiveSupport will finally be modular enough to use easily in a third-party library, and ActionController and ActionView will be decoupled enough from the request/response context to be usable for other templating purposes.
Join Yehuda and talk about how the powerful ideas of Rack and modularity are informing Rails 3, and how they will change the way you develop.
Date
July 17, 2009
Room
Hitotsubashi Memorial Hall
Speaker Profile
Yehuda Katz is currently employed by Engine Yard, and works full time as a Core Team Member on the Rails and Merb projects. He is the co-author of jQuery in Action and the upcoming Rails 3 in Action, and is a contributor to Ruby in Practice. He spends most of his time hacking on Rails and Merb, but also on other Ruby community projects, like Rubinius and Datamapper. And when the solution doesn't yet exist, he'll try his hand at creating one - as such, he's also created projects like Thor and DO.rb.