Getting Started with Grails
A goal of mine for the new year was to pick up another language. I am perfectly happy in my daytime life of developing ColdFusion applications but I really feel like your doing yourself a disservice. If you step back and take your programming hat off you will see that the same values apply in real life. There are always more than one way to solve a problem right, well imagine that you always solved a problem with the same solution. First off you would never realize there was an easier solution and second you would never be able to share your trials with others.
It is this kind of mind set and realization that brought me to this point. I want to learn another language and while I am picking up Flex/AS3 its just a different animal. I want to pick up something more from the web world and comparable to CFML. After taking a look around I emailed my new twitter buddy @groovymag and asked him why I should learn Grails & Groovy. He was able to write up a pretty nice article that has some great points in and you can check out the article here. With this and some research on my part I have settled on Grails as a my new language to learn.
I have always been interested in Java and in fact have dabbled in it before. You really can't argue with the fact that they are a major player in the game. The reason I never pursued it was because I was never developing desktop applications and it seemed like a ton of work for writing basic web applications. Then if you wanted to use one of the many great open source projects out there such as Spring / Hibernate it seemed to me like a configuration nightmare. Maybe it was just too much for me but that coupled with the fact that I am a creature of need and my needs have always been for the web I just never got into it.
Fast forward a couple weeks and I have to say that I really feel happy with the decision I have made. I am learning so much and already able to produce functional applications. So let's take a quick look at what Grails is, what some of the features are and I will share a couple of great resources with you. The great thing you will notice right away is that Grails is much more than a framework, its a complete development platform. Grails comes bundled with some amazing open source projects that really make it a complete and powerful platform.
- Groovy - This is really the power behind the platform. I am sure you have heard others in the community talk about how awesome Groovy is and well they are right. It's dynamic powerful and so easy to use your kids could code with it!
- Hibernate - This ORM is what all other Object-Relational Persistence frameworks look up to. It allows you to take Domain classes and map them to relational databases. It was announced last year at CFUnited that the next version of ColdFusion will have Hibernate built in.
- Spring - For all of the things it can do its best known for its ability to do dependency injection. This popular framework was ported to ColdFusion (ColdSpring) so you may be familiar with what it can do already. In Grails it makes it easy to use your services right in your controllers without any work on your end.
- JUnit - Unit testing is a great way to run tests against your code and JUnit is is a very popular framework in the Java world.
There are many more highlights of Grails but right away its an impressive list. The best thing overall is you don't need to install them, they are ready to go! Rather then go into a how to get started tutorial (there are many out there) I thought I would provide you with my list of getting started links. The first two are the main web sites for Grails & Groovy. These both have some amazing getting started tutorials and I highly recommend them. Next is a set of links that are related to Jason Rudolph. He gave a presentation on getting started which you can watch and he also wrote a mini book which I highly recommend. It was this mini book that really got me started. Finally a couple of cool sites that I enjoyed looking at. I would also encourage you to join the Grails mailing list (found on Grails site) as the traffic on it right now is very good!
http://www.grails.org/http://groovy.codehaus.org/
http://jasonrudolph.com/blog/
http://www.infoq.com/minibooks/grails
http://www.infoq.com/presentations/rudolph-grails-intro
http://aboutgroovy.com/
http://groovyblogs.org
http://www.groovymag.com/
If you are interested in picking up another language I would suggest taking a look at the Grails platform and while I am not expert if you have any questions getting started feel free to email me.
