Slashdot Mirror


Is Anyone Using the Google Web Toolkit?

eldavojohn writes "After seeing some applications from Google and participating in the Google Codejam (which seems to be built using the GWT), I kind of expected to see websites spring up left and right based off the GWT. Well, it's been a year and a half since they open sourced it and I have to admit that I am more than a little disappointed by its low profile in the UI community. I've been trolling their blog and have seen a few books out on it. But the one thing I'm not seeing is its use outside of Google. I've worked through the examples and tutorials at home and though I've been impressed with the speed, I am disturbed by the actual result — a whole ton of generated Javascript. But this is the first UI technology I've found where I can write in the native language of the server (Java) to generate and unit-test the UI code. Aside from Google's use and the games of Ryan Dewsbury like KDice & GPokr, does anyone know of major sites using the GWT? If you don't and you've used it yourself, why isn't it taking off? Is it too immature? Is it a solution to a problem that already has too many solutions? Is it fundamentally lacking in some way?"

13 of 470 comments (clear)

  1. Why are you expecting this? by Anonymous Coward · · Score: 5, Insightful

    Because a big company open sources something we're supposed drop what we're doing and run to the next best thing?

    JavaScript libraries and toolkits multiply faster than rabbits, there's a new "framework" coming out each week, and some of them had strong developer support (i.e. people willing to answer my stupid questions in forums) long before Google came out with their stuff.

    Not that it's bad or anything, but in the end it's all JavaScript anyway, and learning two different ways to get to the same goal (an interactive site) is generally pretty low on everybody's priority list.

    Are you using Google Sparse Hash by the way? Why not?

    1. Re:Why are you expecting this? by Jimmy_B · · Score: 5, Insightful

      GWT is NOT a Javascript library! It's a Java library and a Java-to-Javascript compiler; it saves you from having to learn or work with Javascript at all. This means that you write your client in Java, same as your server-side code, and get to use a real Java debugger.

    2. Re:Why are you expecting this? by IamTheRealMike · · Score: 5, Interesting

      D'oh. I'm a Googler but seriously, nobody is meant to understand compiled JavaScript. Good thing then, that GWT provides a mode in which it does not minify the code, so if something does go wrong in the generated JS you can track it down in the human readable version.

      There are a lot of GWT myths floating around here. I don't work on it but I did adopt it for a project of mine recently, and it's worked out pretty well so far. Myths I saw reading this thread, in no particular order:

      • No nice widget toolkits like Qt or GTK+: GWT Ext seems to provide this. Haven't used it myself though.
      • Content can't be crawled: well, GWT is meant for applications rather than websites, but you can embed anything you want in the bootstrap HTML which will be crawled just like normal. If you have an app in which you want to expose a giant database of things to a crawler then whilst you can still do that with GWT, you don't get as much of the benefit.
      • Can't use "traditional" frameworks like jQuery: a lot of the better JavaScript frameworks have equivalents in GWT actually, for instance, GWTQuery does what jQuery does (let you select nodes from the DOM using CSS selectors) - but it uses the GWT compiler magic to produce optimal code for each browser. For instance, it can compile your CSS expression into an XPath query for browsers that support that, or do things the long winded way for browsers that don't. Thus your user gets a maximally efficient app.

      I suspect you'll see GWT used more and more in future. It's such a radically different approach it takes some getting used to, and whilst it does support evolving an existing codebase towards it, it's still easier if you start from scratch. Still, I do believe that GWT is one of the nicest open source things Google has released for a long time. It's very well thought out and is designed to be very efficient, which is important for any non-trivial web app.

  2. The secret shame of Web 2.0 by QuantumG · · Score: 5, Insightful

    is that everyone wants to roll their own.

    --
    How we know is more important than what we know.
  3. Re:To me, by VoyagerRadio · · Score: 5, Interesting

    Exactly. Man, when I finally decided to really get down and dirty with HTML (translation: when I decide to learn all aspects of HTML and its related technologies), I got all hardcore over XHTML and CSS. I spent more time validating my site to strict XHTML than making the site prettier (not to mention producing better content). After a few years of my addiction to usability and valid forward-and-backwards-compatible code and Jeffrey Zeldman articles, I finally realized that I was wasting my time. Users don't want valid code: they just want pretty, moving pictures and sound (that they can easily turn on and off, of course).

    --
    Harold
  4. one fairly large website that uses GWT by Pinchiukas · · Score: 5, Informative

    Probably the most popular social website in Lithuania uses GWT - www.one.lt.

  5. Re:It's used... by John_Booty · · Score: 5, Insightful

    On a personal level, I'd rather see the effort spent learning GWT applied to learning Javascript and the web technologies instead. There are a lot of frameworks out there, but none of them are actually needed in 90% of the cases. What we actually need are programmers who know how to write maintainable and highly interactive Javascript components for their sites. Such knowledge allows them to get the job done faster than mucking about with Yet Another Framework(TM) designed to take a cannon to the problem of killing a fly.

    It's not learning Javascript that's the big obstacle to coding your own solutions sans framework; it's dealing with the browser compatibility issues. Frameworks largely compensate for that.

    If you write your own non-trivial Javascript code, you have to test on IE 6/7/8, FF 2/3, Opera 9.whatever, Safari 2/3, etc etc etc etc.

    --

    OtakuBooty.com: Smart, funny, sexy nerds.
  6. We are by Arnold_DeVos · · Score: 5, Interesting

    We have used it for a fairly big internal application for one of our clients. Given we wanted ajax rather than a typical rich client, the main advantage of GWT was that we could program in the same language end-to-end.

    We managed to avoid a lot of boilerplate code by using the same data class definitions (POJO's) in the server and client. So an object might be created by hibernate from a database record, copied to the client, displayed and edited, copied back to the server, manipulated there and finally updated in the database via hibernate.

    The main omission in GWT is a good framework for binding data to UI elements. Because there is no introspection available in the GWT client environment, it is hard to do this in a generic way. We solved the basic problem by generating class and property descriptors during the usual hibernate code generation step. We then created a UI-POJO binding framework that picks up and uses these descriptors. Again avoiding a lot of boilerplate.

    Our code for all this is here: http://code.google.com/p/gwt-hibernate/

    I'd say GWT worked out pretty well.

  7. Re:To me, by msuarezalvarez · · Score: 5, Informative

    you probably do not know what 'valid' means in this context...

  8. Re:To me, by Anonymous Coward · · Score: 5, Funny

    How do you get to the roof in a wheel chair?

  9. Re:fr0sty piss by hostyle · · Score: 5, Interesting

    Apart from a few niche Web 2.0 sites, most websites are still built using tried and tested backend tech, and laid out using HTML, CSS and some graphics. GWT is pretty much doing everything using Javascript and a little bit on the server side serving xml/json. Not everyone needs AJAX. Most sites need to be able to work without it (for accessibility, backwards cinpatibility and non-javascript visitors), so unless its capable of adding really useful features (cases of which are few and far between) AJAX and GWT are just not necessary. Its nice if you can have it, but its a luxury you don't actually require for a usable website / web application.

    --
    Caesar si viveret, ad remum dareris.
  10. Progressive Enhancement by R_Dorothy · · Score: 5, Insightful

    http://en.wikipedia.org/wiki/Progressive_Enhancement

    When building sites I start with the plain HTML, make it usable, and then use statically linked JavaScript to start rewriting the page with the bells and whistles when the page loads. That way, if JS is not enabled the reader doesn't get the 'enhancements' but the core functionality is still there.

    --
    Stupid flounders!
  11. Re:There are GWT apps, but not in the public web by vagabond_gr · · Score: 5, Insightful

    I couldn't agree more. There 2 very different ways to use Ajax:
    1) have a traditional site and embed small "Ajax goodies" here and there, like digg does with comments.
    2) have a 100% Ajax site, like GMail.

    Cleary, GWT is good for (2), not (1). Now ask yourself, how many full Ajax sites do you know? GMail, Yahoo mail, a couple more? So it's not a problem with GWT, it's just that the idea of a full Ajax site is not suitable for the open web, it is much more useful for intranet and web-apps use.