I am a full Java developer for 4 years, professionally. I'm a GWT fanatic. I love Java. Here's the problem: in my free time, I often fall prey to the verbosity of my favorite tools for "hard" development. I also often fall into the trap of compulsively developing my software. I end up with the finest unfinished implementation.
So, this is what I usually work with.
GWT . I use this for a dynamic interface and web layout. I love the ease of reuse and it taught me to absolutely hate javascript. I really can't even get myself to do HTML / JS anymore.
Hibernation - POJO for the database, simple. What I really need from this other than matching is that it allows me to have an application running on multiple databases.
Spring is mainly security. I wrote my own LDAP bits for a project.
XML I used dom4j and other implementations, including xstreamer. I would like to use JiBX for XML transport. The problem is that I need XML messages that conform to a specific standard, rather than being auto-generated. Object-> XML-> Object is also common enough that this can be a performance bottleneck with large messages (250KB +).
I tried Lombok for a while, and I liked it, but I had occasional problems, and then I blew up the section and lost all this work. I really don't feel like doing the same thing again (half of the fun was how to do it, now that I know ... meh). This taught me why other people want to reduce explicit code and replace it with an implicit system.
I looked at Grails, but this pretty quickly leads me into a JavaScript problem (you know I don't like this). I could use GWT with Grails at the back end, but I am returning to the problem of deepening weeds with GWT. It also occurred to me that there might be a way to have Grails tags in the GSP that consist of GWT widgets. I'm not quite sure how I feel about this.
Another issue with Grails is that the validation logic before submitting the form is separate from the validation constraints after submitting. I do not see how they can be combined (for now) to produce a βprettyβ check on the front side. I gave up my path to launch a JSR-303-compatible validation project for GWT to help solve this problem for GWT and really liked the Results. It's not over yet, but I still find it useful.
So help me find the best way!
TL DR - I want to have a database (and database independent) for a GUI solution that allows you to dynamically create web programming in one language. Otherwise, as close to one language as possible.
TL DR is TL; DR - I hate JavaScript now, help.
EDIT: I know that it is technically impossible to make "Web 2.0" development without JavaScript. I'm just trying not to be the guy who should write it. (Getting a tool like GWT to do this for me from a language I like, for example.)