Dion Almaer has published a podcast of his interview with Steve Yegge, the creator of Rhino on Rails. An earlier blog post by Steve generated a significant amount of interested by the developer community. Rhino on Rails is a Javascript port of the popular Ruby on Rails framework. It is currently under active development for internal use at Google. Steve Yegge and his team hope to make Rhino on Rails open source this summer. Yegge first announced last summer at Foo Camp and in his blog. Questions Almaer asked:
- What does it mean to port Rails to JavaScript?
- What can't you do since JavaScript doesn't have the same meta programming facilities?
- Rails = a group of Active*, so did you re-implement everything?
- What do you gain out of having JavaScript all the way down?
- Does it actually make sense to have jjs? Server side JavaScript generating client side JavaScript? Argh!
- What is the state of Rhino?
- Will Rhino support JavaScript 2?
- How does the JVM help you out?
- What are the ramifications of implementing ActiveRecord with Hibernate
- Fun other languages to play with
Yegge revealed some interesting details of the project during the interview. The principal reason he choose to port Rails to Javascript on the JVM is the support Javascript enjoys within the Google corporate environment. Rhino on Rails is a true port of Ruby on Rails, starting from version 1.2. Users of Ruby on Rails should find Rhino on Rails's API familiar. It does not currently include Active Record, the powerful domain model library on which Rails database model objects are built. However, Yegge is aiming to add this functionality. When released, Rhino on Rails will probably operate within a Jetty container. It may also contain support for GWT. Yegge points to concurrency support in Rhino on the JVM and his implementation of Rails as scalability advantages over Ruby on Rails.