Which java web framework to use for google app engine development in 2012?

2k views Asked by At

I am looking at developing simple java web-app to be deployed on GAE and learn about Java web development in the process. I am not inclined to use RIA component-based frameworks like Wicket and Vaadin.

I have looked at Play 2.0, Tapestry 5 and Click, out of which Play 2.0 cannot be used on GAE (and I don't want to put efforts in learning Play 1.0 which is a thing of the past). I have no problem in using Javascript for client-side programming. So, I am not considering GWT.

I have read up some documentation. Click seems to be easy to deploy on GAE. But, Tapestry 5 seems like a good framework to study and learn and become a better software/web developer. But, my google search for using Tapestry with GAE yielded pages that talked about hacks to get it working on GAE instead of having a first-class support for GAE itself.

I do not mind putting in efforts to learn a complex framework if it is going to make me a better programmer. Does anyone have any experience with using Tapestry on GAE? Or should I just go for Click?

1

There are 1 answers

7
Peter Knego On BEST ANSWER

In 2012 if you are serious about web development you need to use both server side and client side frameworks.

Here's what I recommend:

  1. Server-side: use something that gives you both HTML generation and REST/JSON support in one package. For Java a natural choice is JAX-RS standard. I use RESTEasy with HtmlEasy, where you can choose your template lib of choice. I recommend Silken.

  2. Client-side. Since you are java dev I recommend GWT. It's awesome. Just DO NOT use it's Widgets or UiBinder. Use pure HTML (it's generated on server, right) and then add code via GwtQuery. Also avoid GWT-RPC or RequestFactory, go with REST (GETResty or SpiffyUI).