#important interfaces and their description
While there are not any concrete classes that you must extend from, there are a few key interfaces to be aware of...
The Page
This is your presenter in MVP terms (the asWidget method would return your view) or your your simple view page without MVP where the asWidget would return this.
The Application Presenter
This is the component that takes pages and renders them. This would contain your layout logic.
The Page Loader
This is responsible for instantiating pages and mapping a pages to page tokens (strings)
- A page loader is any class that implements: com.google.gwt.gwtpages.client.page.loader.PageLoader
- There are a few different page loaders to deal with different ways of loading pages
- StandardPageLoader: creates pages synchronously using GWT.get(...);
- AsyncPageLoader: creates pages asynchronously using GWT.gwt(...) inside of GWT.runAsync(...)
- StandardGinPageLoader: creates pages synchronously using GWT.get(...); - automatic Gin injection... this is in the Gin add-on
- AsyncGinPageLoader: creates pages asynchronously using GWT.gwt(...) but does this inside a GWT.runAsync - automatic Gin injection... this is in the Gin add-on
Note: with the previous page loaders, there a few different ways to register classes and your MVP presenter and view coupling is done here. There are few different ways presenters can have views set on them
- single constructor parameter
- setDisplay method
- setView method