At work there’s a bit of discussion around what client side framework we should use for our front end web applications. Currently it’s a showdown between GWT and jQuery and I’m kind of on the fence but leaning towards jQuery.
From what I can tell, GWT and jQuery are trying to solve different problems but are compared to each other because they both end up existing in the web applications space.
I suspect that if this is the case, then comparing the two may be fruitless so what I’m trying to get my head around is if comparing jQuery to GWT is even an apples to apples comparison in the same way that jQuery and ExtJS can be compared, or would it be more beneficial for our team to ask certain questions of our application and use the answers to determine which framework is a better fit for us?
In addition to what Craig mentions, there is another, hardly-ever-discussed reason. Are you building a web-site or a web-app?
A website is the traditional way of doing things. User clicks on a link, browser goes to server and downloads new html. At times, you put in AJAX calls to populate lists or to save some data, but most of the times the transition from one page to another happens on the server side.
A web-app is different. Think gmail, google calendar, google docs. There is only 1 html page in the system. Once it downloads, transition from one view to another is done on the client side. Clicking on a link does not load fresh HTML, its just a javascript method call (which may or may not go to the server).
GWT is really suited for building complex web-apps. If you try to build a website with GWT, you are going to get frustrated with the technology. JQuery is more suited for web-sites, where you want to do certain jazzy stuff on a page, but at some point you want to go the server and download fresh content.
You will be more productive if you make a choice based on what your end goal is – website or webapp, rather than deciding on what your path is – java v/s javascript.