

GWT alternatives?? - andrelewis

I've noticed there seems to be a few frameworks in python (Such as the Pyjamas project, or Pyjs) that allow you to code in a consistent language like Python or Java and output fairly fast, optimized Javascript front ends.  I've been hammering away at using GWT for my front end, mostly because it creates the split browser specific resources and optimizes things like image loading via ImageBinder.  I'm a big fan of these optimizations, but I find that I spend 90% of my time configuring environments, dealing with obtuse error messages, dealing with idiosyncrasies of project layouts, screwing with Maven, etc etc etc. I spend less than 10% dealing with the business problem and it's a bit frustrating.<p>I've looked at frameworks like Pyjamas, Ukijs, Sencha etc.  I really like Sencha, but of course it's pretty much overkill at this point.  Pyjamas and Ukijs both seem to be mising any recent coding activity and don't really address the optimizations I am after.  Does anyone have any suggestions on frontend widget libraries that are lightweight, well supported and perhaps can simulate the Imagebinder functionality?  Or should I just bite the bullet and keep plugging away with Gwt/Gxt etc?<p>Backend I am doing (preferably) Json/Restful services for everything .  Thanks for your input :)
======
breathesalt
GWT has quite a learning curve. I'm 5 months into GWT/GAE, not counting
preliminary research/learning, and am only now starting to see a return on my
time investment. Looking back, I'm glad I decided to roll my own small
framework for GWT/GAE; everything else just seemed inflexible, overkill, and
too proprietary. I recommend taking a look at <http://www.gwtapps.com/> which
has been very helpful through my journey, even if it's somewhat dated.

There's practically zero support for Maven in the GWT documentation, and it's
a shame because it seems much more elegant than just Ant. Ant is probably what
I hate most about GWT, but beyond the initial setup, I haven't dealt with it
much other than simply running "ant build" and "ant devmode".

My honest advice is unless you really like working with Java or are already
past the learning curve, just go the HTML5, Backbone.js, Bootstrap/LESS, and
Coffeescript route. GWT's worth the investment but the web standards it's
built on will still leak through on sufficiently complex projects. Also, I
couldn't see myself doing GWT if I wasn't also doing Java GAE, because GWT-RPC
makes AJAX so painless.

------
rdwallis
GWT doesn't work well with Maven. Support has improved recently but is still
terrible.

I may just be hitting a lot of outlier samples but Google Java projects seem
antagonistic to Maven (I've used GWT, GAE and GData). GData's really bad; see
comments at: <http://code.google.com/p/gdata-java-client/wiki/Dependencies>

I'd never have ended up using GWT if I'd tried it first as a mavenized
project. But GWT itself is a really beautiful toolset and I'm sad to see it
abandoned because of a weakness in one area. It's really frustrating that that
weakness is probably the first thing that a whole bunch of people will run
into when trying it out.

Also if you don't have to use GXT, don't. It is rubbish.

------
kls
Why not work with a JavaScript front-end framework like Dojo or
Require.js/Backbone/jQuery? while it is a little bit of upfront learning it is
in my experience far more maintainable and a faster development cycle. There
are a lot of good REST frameworks for Java on the back-end that require very
little in the way of configuration and working directly with JavaScript on the
front-end simplifies a lot of issues.

~~~
andrelewis
I like jQuery, though it's not a widget provider, Dojo I've consistently run
into compatibility issues with over the years, as it seems a bit IE-centric
and it's still pretty heavy weight. Although I did notice the newest version
seems to boast a revamp.

I liked YUI a lot, and it's clear they put some really solid engineering into
their framework but it's a rocky road for Yahoo and they haven't really been
updating their api's.

I'm trying to reduce the number of dependencies and like the ability to only
load what's needed for a page. Realistically though I am after the equivalent
of ImageBundle in GWT, that combines images into one image and maps all the
related CSS/JS refs to the single image map.

I'll check out Dojo again but I'm still curious what else is out there?

~~~
kls
_Dojo I've consistently run into compatibility issues with over the years, as
it seems a bit IE-centric and it's still pretty heavy weight._

I have used Dojo since .4 and have not had many cross browser issues, and the
few I have had have mainly been concentrated in IE6 I think I had one issue
with FF in that time and it was in one of the dojox libs and one issue with
Safari which was a bug with Dojo and was resolved with the next release.

As for it being heavy, Dojo does have a wealth of libraries in it, but the
Require.js build system strips the production release of Dojo down to what you
need, as well now that they are using requires you can bundle all of your
assets up into the build.

On the subject of ImageBundle I don't know the implementation details, but I
would assume that it is just generating HTML Image Maps and/or CSS sprites
which is pretty easy to do in PhotoShop as well there are a bunch of online
generators where you upload a set of image files and it generates the
coordinated for each one for you. Here is a link to a sprite generator
<http://csssprites.com/> . I don't think you will find a pure JavaScript
library that does that for you, as most people just use PhotoShop or one of
the online applications.

~~~
andrelewis
Thanks for your reply, I'll give it a go. I'll be going through a learning
curve no matter what I do, but I think I will actually be more productive
coding it directly. I'm off to see how to integrate coffescript with Dojo,
should be fun :)

~~~
kls
no problem, let me know if you have any issue, I will help as much as I can,
my email is in my profile. As well feel free to connect with me on LinkedIn if
you have an account.

------
tsewlliw
GWT has two big disadvantages. Opaque results and slow builds. If your image
situation is so dire that the inclining and spriting are more important than
those... well it just doesn't sound like fun.

------
NonEUCitizen
<http://jsil.org/>

