I thought I would write a little about some of my choices in tech for Eventzin and some of my reasons for those choices.
On the front end I have chosen to go with Grails The Grails Site . For those who don’t know what Grails is, it is a web framework built ontop of some of the best Java web technologies such as Spring, Hibernate and Site Mesh, but also leveraging the power of Groovy. I have traditional spent my time working in PHP however with PHP, there have been things that I have loved and others which have constantly irked me. An example of this is the lack of being able to specify return types and also not also being able to specify a basic type as an argument for a function. I found myself at times wanting PHP to be statically typed, while also enjoying its loosely typed freedom. In short, I wanted the best of both worlds. Often critical actions require the relative safety of statically typed languages, while views very much want to be dynamic.
And along came Groovy. Groovy is a language built to run in the JVM and can leverage all that power of Java while implimenting its own features, which include dynamic typing and closures. I had been playing with Java for a year or so, and while I quite liked it, it also quite often felt as though, in order to do something small, I had to write far too much code. So when I found groovy, I very quickly started embracing it.
The backend of the site is built on pure java. it is a RESTful api, which the frontend site uses, along with the Android app and IOS app. We hope to make this open for developers in the future. I am using Hibernate for the ORM, which I really enjoy using and which sits ontop of a MYSQL database. In the future I am looking at moving this api to use JAX-WS and also to use a nosql database system, as the site and api feels quite suitable for this.
I have always been a big Fan of the Netbeans IDE. It has great java support and good grails support, however the Groovy support is a bit slow and not so great. I am sticking with Netbeans for the time being but have been looking at the IntelliJ IDE lately.