Paris JUG – GWT conference
The 4th of november 2008, I attended to the GWT conference organised by Paris JUG, a JAVA users group based in Paris. That allowed me to learn more about GWT in order to develop a virtual desktop for JNode, as a coworker suggested me.
First part : GWT
The presentator started by speaking about a very simple game he has developed in only few hours on his PC/Windows and that he has tested on the Wii (whose browser is opera). Then he invited us to consult the blogs on ongwt.
Examples of GWT based applications/libraries :
- Google earth
- contact office : an online office software
- myERP : a complete ERP based on GWT
- GWT Window Manager : a window manager
- GWT Desktop Framework : a library based on the HMVC architecture to manage forms with input validation
- GWT designer : an eclipse plugin allowing to be quickly operational on GWT
- and many others …
GWT principles :
- After initial loading of the page, GWT can work in disconnected mode (which means without any network connection)
- A simple static server is enough in general, Apache for example
- Provides an API to manage browser history. That allows to make bookmarkable applications despite the fact that, by definition, a GWT application is a single page one.
- Compatible with JUnit for business process side and (almost compatible) with Selenium for the HMI side
- Support of java 5 since GWT 1.5
- well integrated in the existing ecosystem, especially because it’s the JAVA syntax
- Ajax (and so gwt) allows to reduce workload on the server : the workload is reported on the client (browser), especially because there is no session persistance on the server.
concurrent products :
Remark : As GWT applications are represented by a single page, you must rethink the HMI ergonomy of traditional web applications.
Second part : Restlet-GWT
- REST completely defines a web architecture and is based on existing things, for example the http protocol (with its GET, POST, PUT, DELETE requests). For more informations, consult that article on the ‘journal du net’ or that one on wikipedia. Advantage : A Swing and a GWT application can share a big part of the backend thanks to REST
- Restlet : it’s an open source implementation of REST in java. The version 1.1.0, named Restlet-GWT, is the first stable version of the GWT portage.
- unified API on server and client side : that allow to learn/use many APIs (javamail, http, jdbc, …)
- independant of the servlets but can be integrated in that kind of container. There is a standalone deployment but it remains client/server.
- expose ressources (through an uri) and adapt client side representation. Thus, with http, we use content negociation to know what kind of representation is supported by the client. Example : Firefox say it prefers html or else xhtml.
For more informations, have a look at paris JUG site