Learning Java Web Development in 2010
I just noticed this question by mrblah at Stack Overflow:
I want to learn, at least at a basic level, how to build java web applications (coming from a .net background).
Meaning, I would like to be able to build, deploy a simple cms type application from the ground up.
What exactly do I need to learn?
Tomcat seems to be a good web server for Java.
What options are there for the web? I know there is hibernate for an ORM.
Does java have MVC? what about JSP? can MVC and JSP be together? beans?
Maybe a book that covers all of these?
And an answer popped into my head:
I consider most of the traditional Java web development options to be pretty heavy-weight, and there some good alternatives:
Play is an MVC framework which is focused on being lightweight, straightforward, and enabling rapid development — while sticking with pure Java, as opposed to a more dynamic JVM-based language. It’s fairly new but already impressive, and a good community has built up around it quickly.
Grails is an MVC framework, inspired by Ruby on Rails, which is written in, and uses, Groovy, a Java-based scripting language. Grails is mature, robust, and widely respected, with a strong community. Groovy is basically a superset of Java, with better syntax and some great features such as closures, so learning it is a great way to learn Java.
If you need/want to build RESTful web sites/services/applications, Restlet is a fantastic framework — I’m a big fan. It’s simple, straightforward, and yet flexible. Great community too.
Google’s App Engine is an interesting option as well. It’s hosted, which may or may not be of interest, but it has a fairly simple API, and a good SDK.
I’m sure there are others, but these are the ones I can think of off the top of my head.
Good luck, and have fun!