4

Given that both Ruby on Rails (RoR) and Grails can run on the JVM (Java Virtual Machine), which language and framework enables equally competent and experienced developers to be more productive and roughly by what percentage? (i.e., deliver more business functionaity for the same amount of effort)

I know that Grails is easier for a Java developer to transition to. And I realize that the entire Java Library is available to a Grails developer. My question is regarding developer productivity in an environment where one runs on an JVM on Linux using the standard application servers (WAS, Weblogic, JBOSS, TOMCAT etc.). Note: JRuby will be used to enable RoR to run on the JVM.

I would requests answers from those that have done significant web applications development using both ROR and Grails.

Cam Wolff
  • 1,420
  • 15
  • 13
  • First of all, it's officially just "Grails" now; the RoR people asked the Grails people to change the name. – Michael Borgwardt May 12 '09 at 16:23
  • 1
    How are you measuring productivity? And which one is the developer more familiar/comfortable with? What's being built? There are a lot of variables to consider. – Jarrod May 12 '09 at 17:06
  • Productivity is measured by units of features being delivered (not lines of code). I am looking for an equally competent ROR and Grails developer in their respective languages and frameworks. This question is focused on web buiness applications. – Cam Wolff May 12 '09 at 17:51
  • Ruby on Rails doesn't run on the JVM; JRuby on Rail does and also has access to the full Java platform API. – John Topley May 12 '09 at 18:41
  • I just assumed that folks knew the JRuby was the means to run Ruby on the JVM. – Cam Wolff May 13 '09 at 12:41
  • I have edited the question to incorporate the previous comments. – Cam Wolff May 20 '09 at 20:41

1 Answers1

13

If all you're looking for is a 75% answer: grails

I've done significant development on both platforms, though my major rails experience ended about a year and a half ago (before rails 2.x was released).

I've been heavily involved in grails development since grails 0.5.

The answer really depends quite a bit more on the developers and infrastructure that will be available to work on the project. If you're looking to deploy to a standard java app container (like Tomcat), I think that Grails is the better choice. If you're looking to do something with mongrel/rack/pound/etc. Pick rails.

If there are particular gems/jars that fit your business problem, that would obviously affect your decision.

The choice of Grails for me isn't so much because I think that it's better at solving all kinds of problems, but more because I like the grails developer community better and I like the groovy language a little more.

I've also found grails to be an easier sell to the places I've worked at over ruby/rails. There are many more java shops around here and it's less of a leap for them to make that transition.

This is a personal preference and I could easily see someone else going the other way.

Rails has quite a few things going for it, and I think the test driven development story there is much better (though I'm working on trying to fix that).

Community
  • 1
  • 1
Ted Naleid
  • 26,511
  • 10
  • 70
  • 81
  • Strangely, the "75% answer" article you linked says Rails. – Chuck May 13 '09 at 00:39
  • Heh, I knew that, that was part of the point :). Either of the frameworks is good enough that if you're looking for a single answer and don't have any other big driving factors to pick one over the other, you can be successful. For me, where I'm at, and with the community I work in. Grails is the right answer, for someone else in different circumstances, Rails would be correct. – Ted Naleid May 13 '09 at 02:20
  • so bottom line is you don't see a significant difference in the languages to merit one over the other. Given that our standard at work is based on the JVM, grails provides a clear path to support the JVM standard. However, doesn't JRuby do the same thing? – Cam Wolff May 13 '09 at 12:39
  • If your standard at work is the JVM, chances are that you have people with Java experience (and probably not an equal level of ruby experience). In that situation, I'd definitely pick grails. That's my biggest reason for my preference now, the area that I work in (the midwest) has a much larger population of java devs than ruby devs and that's not likely to change anytime soon. JRuby's java integration isn't quite as strong as groovy's (no joint compiler, etc). From what I've heard of your situation, I'd pick grails. – Ted Naleid May 13 '09 at 14:27