One of the things I've been getting more and more into during the last year or so is the Groovy language and the Grails framework.
Leaving aside for a second performance concerns with Groovy (most of which aren't going to make a big difference to typical web apps), the Grails framework is amazing in terms of the sheer productivity gain you get compared to typical enterprise Java development.
The Groovy language in and of itself is a certainly a breath of fresh air compared to good old Java, but being basically a "By Convention" layer on top of spring and hibernate, Grails is the real killer here. It simply lets you spend most of your time focusing on what actually matters, namely the business logic. Now the more used I'm getting to being able to leave (most) configuration details to the underlying framework, the more arcane it seems to have to touch something as unproductive as an XML bean definition file, a hibernate mapping or even fancy spring and JPA annotations.
Maybe I'm getting lazy, but sometimes having things just work out of the box is downright nice.
Leaving aside for a second performance concerns with Groovy (most of which aren't going to make a big difference to typical web apps), the Grails framework is amazing in terms of the sheer productivity gain you get compared to typical enterprise Java development.
The Groovy language in and of itself is a certainly a breath of fresh air compared to good old Java, but being basically a "By Convention" layer on top of spring and hibernate, Grails is the real killer here. It simply lets you spend most of your time focusing on what actually matters, namely the business logic. Now the more used I'm getting to being able to leave (most) configuration details to the underlying framework, the more arcane it seems to have to touch something as unproductive as an XML bean definition file, a hibernate mapping or even fancy spring and JPA annotations.
Maybe I'm getting lazy, but sometimes having things just work out of the box is downright nice.