GWT: First impressions

Been working a bit lately using GWT (Google Web Toolkit); my first impressions: it is a well designed technology which brings an interesting alternative to web application developement; while JSF also takes the web development layered models a step closer to MVC, GWT has a different take on it, and as a result we have an UI development process very similar to Swing, obtaining client-side applications full of nice features and widgets without needing to know the details on their implementation.

Something to note however, is that while the web application is written in java, this will only bring advantages on a quicker development and debugging, you cant really use the many tools already available to Java, there is just a subset of java.lang and java.util you can use; this is all because all of the java is ultimately compiled to javaScript, the VM dissappears and you are left with a set of HTML, css and js files which need no server to be processed. Also, these generated files are not trivial to mantain outside of the GWT once they are compiled, and thus there is certain dependence on the support that google brings to the tool in the future to ensure the maintanability of any application that uses the ToolKit.

There are still lots of things to do and to improve… GWT is a newborn technology, it is still a bit buggy and things dont always work the way one expects them to; but the design is clear, and with the sucess of tools like google calendar or google maps, from which the API was built, it is an option to be had in mind if one is to develop web applications focused on the client side processing.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s