A common question people ask is how to architect a GWT app. Ray Ryan discusses real-world learnings and patterns from the Google AdWords team and elsewhere which you can use in your apps.

While dependency injection on the client side in general is nothing new, having it on a GWT application (I mean on the client) is something a little harder to setup. Since we donâ€™t have reflection and dynamic proxiesâ€¦ But GWT provides an alternative called deferred binding, and there is a project called Gin providing the Guice DI approach for GWT apps.

There are some other projects like gwt-dispatch and gwt-presenter that where created inspired by Ray Ryans talk.

So if you are doing or planning GWT development, have a look at the video and the following projects:

gwt-dispatch: Inspired by Ray Ryanâ€™s Best Practices For Architecting Your GWT App session at Google I/O 2009, this is an implementation of the â€šcommand patternâ€˜ discussed at the beginning of the video.

gwt-presenter:Â Inspired by Ray Ryanâ€™s Best Practices For Architecting Your GWT App session at Google I/O 2009, this is an implementation of the â€šPresenterâ€˜ part of the Model-View-Presenter (MVP) design pattern discussed in the video.