views:

537

answers:

1

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.

+12  A: 

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).

Ted Naleid
Strangely, the "75% answer" article you linked says Rails.
Chuck
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
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
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