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.

Spring Roo Initial User Experience

I’ll start by saying that I admire what the Spring guys are aiming with Spring Roo. I really hope that this effort will be successful.

The promise is great; up and running enterprise Java applications in minutes, however, after being burnt in the past, most developers still would like to keep sense of control over their code base.

After watching the Google I/O keynote, where it was clear the Spring and GWT guys are working together, I wanted to spend 60 minutes on Roo and see how it goes.

So, I went into the Roo website and followed the command line instructions. Documentation is great and also the command line behaves very well. Didn’t dive yet into the auto-generated code, but I have a good feeling that the guys at SpringSource knows what they are doing.

after 5 minutes, the user experience is just great. And than came the maven piece…

I finished creating the first project as described here, and followed the instruction:

roo> perform tests

And than waited for 16 minutes and 3 seconds while seeing screens like this one:

I understand it’s not Roo, but maven behind the scenes, and that it was the first time maven was running on my laptop, hence the time it takes. However, I do expect to see much clearer messages about what’s going on, and why it takes so long…