JRuby on Rails – Agility for the Enterprise
Charles Nutter and Thomas Enebo, Sun employees and key contributors to the JRuby project, gave the typical introduction into the Ruby programming language, JRuby implementation, and JRuby on Rails. Ruby is a pure Object-Oriented programming language with plenty syntactic sugar for arrays, maps, regular expressions, anonymous blocks, duck typing, and meta-programming. JRuby is a first class citizen in the JVM.
A common theme by the scripting folks, is their common dislike for regular expression in Java and how the leverage the libraries already available in Java. JRuby, in short combines the libraries and power of Java with the syntax and expressiveness of Ruby.
Charles stated that the benefits of JRuby over Ruby include better scaling, will soon be faster, native unicode support, Java libraries, easy adoption in the enterprise environment and existing applications. The benefits of JRuby over Java include Ruby language features and Ruby applications like Rails, Rake, Rave, and RSpec.
Charles Nutter, the lead on JRuby did state the the current focus is ‘compatibility over performance.’ By this, his focus is for JRuby to be equivalent to the C implementation of Ruby 1.8. Ruby does not have an official language specification, the C implementation is as close as you get to a language spec. Charles Nutter has stated that the lack of a official specification as a pain point in the development in JRuby.
There are some JRuby extras on RubyForge, include a Web Application Resource plugin recently renamed to Goldspike. Originally named Rails Intregation, the Goldspike plugin allows you to create a WAR file for a JRuby on Rails project which can be deployed on Tomcat, Jetty, or any other Servlet container. Other interesting projects include ActiveRecord-JDBC and a Java port of RMagick, the popular image package used in Rails applications.
The speakers also mentioned on the precepts and philosophy behind Rails such as Convention over Configuration, Don’t Repeat Yourself (DRY), and agile development. The typical quote around the JRuby on Rails peeps is that there is “less Rails code than Java application configuration.”
There was a question from an audience member about how JRails compares with Grails. The JRuby folks feel that Ruby on Rails currently has more books, more focus, and more developers. Grails was heavily inspired from Rails, and both projects have borrowed ideas from each other. I personally strongly recommend either Grails, and JRuby on Rails over some of the other available web application frameworks.