Groovy on Grails (Grails) is certainly the meaning of life for a professional programmer. Grails brings me closer to programming heaven than I will ever get. But I will most propably not be using it in the near future. Working with a tool like Grails makes alot things easier but it all needs to be learned. There are some key concepts within Grails that must be understood. Without this knowledge the applications will become badly designed, even with the help of such a strong framework. So what am I talking about? I am going to talk about in this post how I see Grails as an application framework and when it should not be used.
A good example of where Grails has some nitty gritty details is the GORM library. Some simple mapping works well, but when you have omplex data strutures that needs efficient queries and optimized tables, then you need to adjust the default configuration in Grails. And that requires specific knowledge of what and how.
What I really like about Grails is its clean separation of concern. I can program a complex and rich controller without the need to know so much about the rest of the application other than how my controller should work. All the glue is provided at runtime. When you begin to program in Grails you should know that behind all of it is the Spring Framework. If you hate Spring look away.
I have been working with Java Web applications for three years now, and I have not used hibernate yet. But I think its widely used in projects where time matters. To bring up a data model in Hibernate is not so difficult as it is to do the same from scratch. Hibernate can even autogenerate tables. The reason why I have never used Hibernate is that my applications required so much attention on the database tables that it required its own database layer. Big tables with alot of data with many indexes is difficult to maintain with ORM. Its easier to mock up the models and retrievers manually when you know how the database should look like. And if you know that it will not change periodically, then it is certainly a wise decision.
The reason for me delving into Grails in my spare time is simple: to increase my chance to ever get to work with it!
If you are on an opensource project looking for a developer, and you are using Grails (or Spring for that matter), send me an email to post (at) jarl-andre.com. I will certainly be interested to join if the project is somewhat interesting.
Post a Comment