When I set out to create a new project that would need a web-service, Java was on my short list of tools to use for the project. It’s a great language / platform and I am pretty familiar with it and there is a lot of knowledge out there that I can leverage when I run into trouble.
Going in, I knew I had to limit my options in regards to what frameworks / libraries I would look into, so I decided to look into MVC frameworks only, since I have a lot of experience with that type of architecture and prefer it for most of my development work. I’m not going to go into the relative merits and failings of MVC, nor am I suggesting that it is “the one true way.” It’s just a way of thinking about an application that works for me and that I am familiar with, so it makes a lot of sense for me to leverage that.
Given that, I quickly stumbled upon Grails; full disclosure: I have known about Grails for sometime and played with it in the past, so I didn’t really “stumble upon it per se….” Grails is definitely an attractive option for the project, since it combines some of my favorite things from the Ruby/Rails world (dynamic typing) with the (usually, at least when compared to Rails) superior performance of Java.
Still, as I played with it again, I was reminded why I never really pursued in the past: every-time I Google something I find Grails devs complaining of bugs in the framework itself. That was a bit more troubling to me. If there are a significant number of bugs in the framework itself, then what will that mean for my application? Will I be spending a lot of time (time I won’t have) working around those bugs? That seems to be the general consensus of the devs I chatted with and whose forum / blog entries I read and since I am not a Grails expert, I might end up spending a lot of times trying to work around bugs that I don’t even know exist. I understand that is completely unfair.I am sure that some of this is over-hyped and obviously any significantly large project is going to have bugs. So please if you are a Grails dev send me some positive experiences with it on Twitter or Google+ and also include why you chose it over competing tools.
With Grails out of the running, I went to what I feel is a pretty obvious choice for MVC with Java: Play. But more on that later. How do you choice your tools for the job? Is you thought process similar or radically different from mine? If you liked or hated what you read here, please get in touch on Twitter or Google+