GWT is a handy tool for developing rich web-interfaces. However, any GWT widget is primarily a component for displaying data. In this framework itself provides no means for the preparation of the data to display as well as for events exchange between the changing data and their view.
MVP (Model-View-Presenter) is a fairly popular design pattern that is often used for the development of visual interfaces. And if the MVP is supported at the level of development tools (eg, Swing, SWT,. NET) in case of desktop-applications, GWT hasn't got anything like this. Everyone wishing to apply this pattern is proposed to develop something similar at his own cost.
Advanced GWT Components (http://advanced-gwt.sourceforge.net
) initially maintained an entity like the model data. However, only with version 1.4.7 there were finally eliminated all the gaps associated with the use of MVP.
Now, the library of components is a full implementation of this design pattern that has all typical parts:
1. data models which changes come in a presentation layer by sending messages
2. presenter which is implemented in a special class (EventMediator), providing the interaction of individual components of the library as well as responsibility for data exchange
3. and finally a flexible presentation layer which implements the components themselves
This separation allows developers familiar with the MVP to feel in their element. This primarily refers to those who have little experience in developing web interfaces but spent many years writing desktop systems.