

Ask HN: Are you using Grails? What do you think about it? - andretti1977

One of my clients asked me to realize a project based on Grails. After two months of work i must say i found it very interesting and productive.<p>So i would like to know how many people build projects using Grails (and if it is possible to know, what these projects are) and your opinions about it.
======
tcfunk
I have been using it for roughly a year now, and I have to say that I am NOT a
fan. Admittedly, this opinion is probably colored by my previous history as a
user of ruby on rails.

My chief complaints are:

The framework start/stop time is ungodly slow, especially when adding plugins.
Many plugins are re-configured at every start, including the prominent Grails
Spring Security plugin. Depending on which machine I am using, a shiny new
grails app can take nearly 90 seconds to start. This causes me to lose focus,
and quickly.

Speaking of plugins, there aren't many to choose from. The key plugins are
there, but they are nearly all developed by the core grails team. Most of the
third party plugins that I come across haven't been updated for years and were
written for versions of grails long past. This means that there is usually
only one option available for a certain plugin, so if you don't like the way
that Grails Spring Security works or feel that it's too clunky, you're SOL.
Best write your own security code.

The resources plugin that is recommended has a very steep learning curve and
makes it difficult to include javascript/css frameworks if you don't know
exactly what you're doing. Best just not use it and manage your own javascript
and css.

Deployment is "easy", meaning that you just tell grails to wad your
application into .war format. This also means, however, that re-deploying an
application means that you replace 100% of the files every single time. This
makes it impossible to push out changes without interrupting user access to
your application.

The database management just feels awful to me, although I'm convinced that I
must not be doing it right. There is a database migration plugin, but it feels
very clunky and I tend not to use it. Rails has very nice database management
and it is easy to rollback changes or perform modifications on tables. Doing
the same with the grails database migration plugin requires several steps.

The Good Parts:

Like I mentioned before, deployment is super easy. Make a .war file, put it in
Tomcat, done. Also, being able to use software like Tomcat is a bonus, because
it means a much lower barrier of entry for those who are not as well-versed in
configuring web servers.

If you've never installed ruby on rails or groovy and grails before, groovy
and grails is by far the easier to configure. Grails is also much friendlier
to the windows crowd. However, I feel that these are hardly points to make, as
you only really install your framework once (sure there is updating, but
ruby/rails has better version management available anyway).

If you've come from a java background, groovy will come very easily.

At any rate, sorry for the novel, but I hope this helps.

------
vorg
> Grails. After two months of work i must say i found it very interesting and
> productive

Two months isn't long enough to gauge productivity - there could be a lot of
maintenance issues later.

I'm interested to know how many of the Groovy Language features are used in a
typical Grails project, or in any Grails project for that matter. I mean, does
any Grails project out there, say, transform the abstract syntax tree with
Groovy's AST transforms?

~~~
andretti1977
I think two months are sufficent to understand productivity of a
language/platform from the "code development" point of view, at least if you
are an experienced developer and have a good knowledge of other
languages/frameworks/platforms.

I agree that the long-term analisys is always the best and that could be a lot
of issue about maintenance and sure, two months aren't sufficent to master
specific language features, but you can get a quick overview and feel if it is
productive or not.

I don't use too much specific features but Groovy offers a lot of interesting
things i may adopt in the future.

Maybe other experienced developers can answer your question better than me.

~~~
chaostheory
I disagree. Rails also has huge productivity gains in the beginning.
Unfortunately with every major release they keep radically changing how things
are done. Leading you to either stagnate with an older version or forcing you
to do a semi painful upgrade that gets worse the longer you wait. You're not
going to realize this in two months. Fortunately Grails doesn't suffer this
problem but my point stands: 2 months isn't enough. 1-2 years is more like it.

------
yread
I'm working on
[https://github.com/transmart/transmartApp](https://github.com/transmart/transmartApp)
(it's actually a lot bigger than would seem from the repo, it's used by almost
all big pharma companies). I've started only 2 months ago, so like you I'm
looking for opinions about it. So far I'm mostly annoyed by it doing too much
magic and being slow to start and compile

~~~
andretti1977
I agree it does a lot of magic but this shouldn't be a bad thing. I learned
Spring framework and hibernate on different projects and it helped a lot in
understanding (and appreciating ;) ) all the magic. I found it slow in start
too, but found it quite fast on compile time

------
stesteau
We've been using it for 3+ years and we love it. We are a small team, so it
enable us to build stuff fast, plus it has many good features, 2.3 has amazing
REST support.

------
biehl
Where I currently work, Grails is the default platform. This means that we
have a landscape of 10-15 Grails apps. It is very nice.

