GWT is dead!

GWT is dead at least for us at Totango. We are in the final stages of migrating all of Totango ui into native HTML5. I know this is probably not news for people who follow the landscape of front-end JavaScript frameworks, however, I’ve been asked several times within the past couple of months to recommend the usage of GWT, so just to be absolutely clear – I don’t recommend anyone to start using GWT as this project is not going anywhere.

Although Google is investing a lot in it’s developer support, GWT was never a true open source project. Even now, the direction of the project is not communicated to it’s community. Google can decide not to support the project anymore and do something else, but not communicating with people who have adopted their technology is a wrong thing to do. Personally, I don’t trust Google open source technologies anymore and prefer now to work with pure open source projects.

GWT was an attempt to shorten the path for Java developers and get them to become productive on modern web applications without learning much of JavaScript and CSS and HTML. This was my assumption when first started to code Totango.

We have collectively learned since, that it is much easier to get a grip of the modern web techniques, best practices and tools, rather than overcoming those with the GWT abstraction layer. The best practices of the GWT framework are good, however, those could be easily replicated in other technologies as well.

Since GWT was not taking advantage of existing packages and libraries which were already developed in JavaScript, it was difficult for the project to move fast enough, leaving the GWT community to look for alternative for some very basic functionality required in these days web. The most obvious one was the lack of a proper animation support, which comes for free for in jQuery.

GWT promise was – “Productivity for developers, performance for users”. I have found that pure HTML5 and jQuery when needed are way more productive and better performing.

12 thought on “GWT is dead!”

  1. Zomg The English says:

    his / hers / its

    1. Zomg The English says:

      … but at least you used ‘better performing’ instead of ‘more performant’, for which I am grateful. 

  2. philip andrew says:

    So what to use, normal javascript, dart, coffeescript?

    1. Guy Nirpaz says:

      Hi Philip,

      We’re using jQuery in Bootstrap style for Javascript and HTML5/CSS based on Bootstrap fluid design.

  3. Gal Dolber says:

    I guess the title of the post should be “Why we stopped using GWT”.
    Yeah, maybe GWT will eventually be replaced by something BETTER… or maybe not, but moving to vanilla javascript is NOT a better path. 

    1. Guy Nirpaz says:

      Hi Gal,

      Thanks for your comment. I’m not sure that I agree with you. One of the benefits of using plain vanilla HTML5/JavaScript is our ability to make all design and architecture decisions which are suitable for what we need. 

      Further more, we’re relying a lot on jQuery and we’ve copied many of the techniques of Bootstrap

      Being burnt before with GWT, it will take us a while to trust a full-blown framework, and at this point we’re looking for utilities instead

      1. Could you elaborate on how did GWT prevent you from making design decisions?

  4. yuval heftman says:

    It is absolutely alive for me 🙂

    Did you try JQuery for GWT implementations ? few are available.

    I found it very easy to enjoy JQuery tricks (hide,show,…) inside GWT using this implementation.

    JQuery is a very effective tool. Most developers will find it great for copy past ready code and put it fast into their own project, but what happen on a large scale/many developers project ? you are going to need much more than JQuery (mvc, require …).

    The benefits of GWT will only start to shine . Think about all those application developed for the last 10 years using flash (games and more). Can you see them replaces by HTML5 using plain javascript ?

    1. Guy Nirpaz says:

      Hey Yuval – thanks for your comment. 

      Unfortunately at Totango we were not able to enjoy GWT when we grew the team. Worse, compile time and the need for server runtime while developing user interface is not the style of productivity we prefer. 

      Aren’t you a bit concerned that Google never publishes a public GWT roadmap and that the last release of GWT is almost 6 months old?

      1. Ido says:

        We are very concerned about the lake of a roadmap. However, we found gwt a great environmet for large team development. The project arch, integrating tools like mvn etc… Makes it really great to use.

        I don’t get why you need server runtime while developing tho, you can use the noserver run option, or use unit tests.

        As fir compile time, 2.5 should be released very soon and it has some pretty massive performense enhancments.

        Regardless, thanks for the post

        1. filip says:

          I share your thoughts. We are also concerned about the missing GWT roadmap and activity. However, I love the tool. I don’t understand why Guy thinks he needs the server runtime etc. It’s a great tool for team development, with compile time syntax checks… Hopefully there will be a good replacement in future (vanilla javascript won’t be what I’m looking for).

  5. costa says:

    My experience with GWT has been different. I think GWT is one of the most brilliant computing ideas and libraries. I adopted it very quickly and it appealed to me because programming in GWT made web programming like desktop programming. I have always hated this dichotomy – web page (JavaScript + html/aspx/jsp etc tags) and server code behind. In GWT no more tags, the UI is built in java. Sure, you have to get used to the fact that you have client code (i.e. Java code that gets compiled to JavaScript and runs in the browser) & server code (Java Code). But I could even have common classes! Plus, one of the main advantages was code refactoring. I could easily change names, class names move methods around etc. Try that in JavaScript. Even the best tools are not capable of that level of refactoring in JavaScript. Btw, I used IntelliJ Idea which I think is one of the best Java and JavaScript IDEs – I also tried the other Eclipse based editors Aptana etc. Every once in a while I like to try new IDEs.

    I think – and this is my personal experience – that programming in JavaScript involves a large amount of hacking and trying to make things work the same in all browsers. Trying to make things align the same (even by one pixel) can become a nightmare to program and to maintain. To maintain because maybe in the next browser version they fix it and because the code resulting from all the hacks and workarounds is ugly (and let’s face it not very well commented). A lot of energy goes into this what I call “non-productive” programming. And this is why I liked GWT. Because it hides all this stuff which I hate. Of course, GWT is a not a silver bullet, but, still, it made my life easier.

    I’ve been off the project that used GWT for two years. I started to do research for a new web project and I was thinking that I could use GWT again. It pained me to see that the future of GWT is uncertain.

    In the end, if I look at everything that has happened in the web space, I would say that JavaScript is here to stay, so, in long run, even if it’s ugly, you might as well invest all the effort learning on how to use its best patterns.

Comments are closed.

Related Post

%d bloggers like this: