We (plumgine.com - in private beta) have been using Java with a success with Play Framework and asynchronous AJAX fronted (some parts with Backbone.JS).
I have been using Java for a while (8 years - J2EE, Android, some desktop utils) and back in the JSF days I used to hate the Java web with a passion. Then I found Stripes (step in a good direction) and Play Framework (absolutely awesome Java web framework).
These days I can whip out prototype in Java+Play Framework faster than anything else.
Some of the reasons:
* I don't have to worry about naming methods/members because I can safely rename them later
* I can easily map Java objects to JSON and back using Jackson
* most of the time I don't worry about database schema - Hibernate (JPA) generates it for me
* Play Framework works in the "hit refresh" mode to see changes
* deployment to Heroku is as seamless as any other.
There is increasingly more action going on in the browser in JavaScript and I think Java (with Play Framework) is a great tool for building backend APIs that will be consumed by your JavaScript client.
I have been using Java for a while (8 years - J2EE, Android, some desktop utils) and back in the JSF days I used to hate the Java web with a passion. Then I found Stripes (step in a good direction) and Play Framework (absolutely awesome Java web framework).
These days I can whip out prototype in Java+Play Framework faster than anything else.
Some of the reasons:
* I don't have to worry about naming methods/members because I can safely rename them later
* I can easily map Java objects to JSON and back using Jackson
* most of the time I don't worry about database schema - Hibernate (JPA) generates it for me
* Play Framework works in the "hit refresh" mode to see changes
* deployment to Heroku is as seamless as any other.
There is increasingly more action going on in the browser in JavaScript and I think Java (with Play Framework) is a great tool for building backend APIs that will be consumed by your JavaScript client.