Skip to content

New to Rails and Grails Comparison

February 11, 2010

Yesterday I tweeted about my first day’s experience with Ruby on Rails and Grails development comparison: “Already, Grails just feels so much more comfortable.”

While some re-tweeted it, others had questions about what I found comfortable or why I might feel that way.  So, I thought some explanation and background was in order.

I developed and maintained Java applications for about 6+ years, and got my Java Programmer Certification (SCJP) in 2002.

But I’ve been doing Ruby and Rails development for the past 18 months, and Adobe Flex for about 2 years, concurrently.  The majority of my time has been spent with Flex, so, I’d put my Ruby experience at about 5 months and Rails experience at about 3 months — and, other than my own playing around and learning efforts, that experience has consisted of writing Ruby scripts to accomplish some task, or adding functionality, etc to models, views and controllers, along with RSpec tests.

Wanting to get a handle on Rails vs Grails development, I decided to sit down and work through the creation of an app from start to “finish” in both platforms/environments.

My tweet was based on my feeling after having created a new app in both Rails and Grails — rather than about the language (Ruby or Groovy, respectively) that I was comfortable writing in. I created a simple CRUD form with a backing model (Rails terminology)/domain (Grails terminology).

I’ll grant that I haven’t gone very far, and created something very rudimentary, but Grails seemed easier and faster to get to the point I wanted.  To lay this out, I didn’t have to install a database (HSQLDB comes with the Grails download), and didn’t have to begin by creating tables in my database (I’m using SQLITE for my Rails environment, just to have something light for my comparison and prototyping) in order to build out the model and the form/view.

I guess the “comfortable” feeling was that I liked being able to start to prototype and layout my application without having to commit myself to a database design like I felt I had to do in Rails (even though I could change it as I went in Rails, and use migrations to adjust things).

So, that’s some of the explanation. Being “Day 1″,  I’m admittedly in the very, wee-early stages of comparing the two here … so I might later discover some things that are easier on Rails because of the upfront database work.  But right now, I just was kind of amazed as how dirt simple it was to get something “real” going in Grails — and that was what I tried to express in my tweet.

Advertisement
3 Comments leave one →
  1. Roy Mustang permalink
    February 11, 2010 11:16 am

    Very interesting post.

    I’ve been using grails for 3 years and most often when I see rails developers mention grails is too bash it as a copy-cat. I haven’t done any real dev in RoR but for what I researched, grails and rails implementations are colossally different.

    What do you think?

    • February 11, 2010 11:21 am

      I’m getting that sense of “colossally different”, even if similar, Roy. But, getting the real answer is what I’m hoping to discover from the task I’ve set before me.

  2. February 11, 2010 3:05 pm

    Interesting

    Grails is a no brainer for Java dev’s. Its just so much easier than other antiquated Java web technologies. But thats for Java devs. I cant help but feel Java dev’s will be naturally biased towards Grails (myself included), thats kind of the reason it exists. It uses the same runtime, web containers, API and software infrastructure etc.. Java devs can hit the ground running.

    I enjoyed reading your feedback. Wouldnt it be interesting to do this same test with someone who is brand new to web dev…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.