The Rails 3.0 development team has been working to improve the security model, and also has also been working closely with Thomas Enebo and Charles Nutter, co-creators of JRuby. JRuby allows Ruby code to run on a Java virtual machine without modification, and it gives Ruby developers access to Java libraries. Katz said that no specific work was done for JRuby, but that Rails 3.0 has been tested along the way to ensure compatibility.
“A lot of the things we added to Rails 3 were shaped by JRuby and Charlie [Nutter],” said Katz. “Charlie wants to allow existing Hibernate models to work within Rails. That’s not going to ship with Rails, but the way we built it, it’s possible to swap in something for using Hibernate.
“Because of the fact that we’ve made our layers agnostic, it’s really easy to work with JRuby. We will see things, Hibernate being the first obvious example, that will highlight this interoperability.”
For the future, Katz said the Rails team is looking at the development model created by Sinatra. Sinatra is a domain-specific language for quickly creating Web applications in Ruby. While Ruby on Rails speeds up the development process, Sinatra forsakes configurability and customizations in favor of simple and fast development.
Katz said that much of Sinatra is too simplified to bring into Rails’ primary code without significant work. He also said that the effectiveness of Sinatra could be increased by allowing Sinatra templates to function in Rails.