2. Why GWT?
● GWT is for Java developers, not webmasters
● Easy to develop and debug
● write, debug and reload in Eclipse
● very short development time compared with
JSF
● Very clean design of web applications
● Decoupled from server - Stateless
● Nuxeo is already integrated with GWT IDE
● GWT is Google! And is quite good
2
3. Wonderful! Why not GWT then?
● GWT is monolithic - best suited for vertical
applications
● GWT applications are not indexable
● In GWT you create rich applications, not
websites!
● GWT applications are very slow to compile
● But you can gain time in development
● GWT doesn't fit well in a modular server-
side framework like OSGi
3
4. But I Love GWT!
● Then these slides are for you! :)
● Nuxeo already provides 2 web frameworks:
● JSF-based for building web apps
● WebEngine for building websites
● Where does GWT fit?
● Somewhere in the middle -- for building vertical
applications
● To integrate it as a web framework, Nuxeo
needs to provide some GWT support
4
5. Ok. So what is the problem?
● GWT is not modular at runtime:
● Modularity is compile-time based
● You cannot drop a new GWT plugin and have
the changes reflected in your web application
without recompiling the entire GWT stack, and
restarting the server
● We want to reuse layout logic already
implemented on the server side
5
6. Solutions
● Two possible solutions
● Re-implement a Layout Manager for GWT to
reuse the layout definitions registered on the
server side
– This is not the best solution since it involves re-
writing the same code on the GWT side and doesn't
solve the modularity problem
● Write a server side template system for GWT
applications
– This solves both the problems –
● the Nuxeo Layout Manager is providing GWT the templates
it needs
● Because web pages are generated by the server, we also 6
have modularity
7. ServerSide Templating
● As we've seen, server-side templating may
satisfy both requirements
● The problem is that server side templating
doesn't provide full modularity
● Templates are indeed modular - but if you need
to install a new GWT widget (e.g. java code)
you still need to recompile your application
● But anyway this is a start …
● I've already implemented this in an open
source project. See:
http://code.google.com/p/gwt-habyt
7
8. Let's see a demo!
Do you have any other solutions?
8