Skip to content
neilatarcbees edited this page Jun 13, 2013 · 70 revisions

![GWTP] (http://i.imgur.com/LHvTZ.png "GWTP goo-teepee") (Pronounced goo-teepee) - A complete Model-View-Presenter framework to simplify your next GWT project.

##Reference

##Community

##News

  • 04/13/2013 - GWTP 1.0-RC-3 was released
  • 02/22/2013 - GWTP 1.0-RC-2 was released
  • 01/30/2013 - GWTP 1.0-RC-1 was released
  • 02/01/2012 - GWTP 0.7 released with support for fancier tab with user-controlled data. Get it from the download section or Maven central. See the Release Notes and the migration details.

##Downloads Maven Configuration Build server

##Plugins Eclipse Plugin source - Un-official

##Why Use GWTP Programming web apps in GWT looks easy at first. However, if you just jump in and start coding, building a truly efficient and scalable app proves to be a lot harder. Your best bet is to design your application for scalability from the start, based on a proven architecture that leverages GWT's best features.

GWTP (we pronounce it "goo-teepee"), is a collection of components for this kind of architecture. You can pick and choose the components you need as you work, or build your new project from the ground up using the entire package. No matter which approach you choose, GWT-optimized compilation will make sure only the features you really use are part of your final code. Read on for more details or get started right away!

At the heart of GWTP is a model-view-presenter architecture (MVP). Although this model has been lauded as one of the best approach to GWT development, it is still hard to find an out-of-the-box MVP solution that supports all the requirements of modern web apps. GWTP aims to provide such a solution.

For example, adding history management and code splitting to your presenter is as simple as adding these lines to your class:

  @ProxyCodeSplit
  @NameToken("myToken")
  public interface MyProxy extends ProxyPlace<MyPresenter> {}

##Goals The goal of GWTP is: to offer an easy-to-use MVP architecture with minimal boilerplate, without sacrificing GWT's best features. Here are some of the features currently supported by GWTP:

  • Dependency injection through GIN and Guice;
  • Simple but powerful history management mechanism;
  • Support for nested presenters;
  • Lazy instantiation for presenter and view;
  • Effortless and efficient code splitting;
  • Integrated command pattern supporting undo/redo;
  • Plus other cool PlannedFeatures soon!

##Features GWTP strives to use the event bus in a clear and efficient way. Events are used to decouple loosely related objects, while program flow between strongly coupled components is kept clear using direct method invocations. The result is an application that is easy to understand, and can be scaled up over time.

In addition, GWTP offers components that let you:

  • Efficiently implement a Command pattern in your application ;
  • Organize your internationalization strings ;
  • Use annotation processors to generate event, actions & responses, and DTOs ;
  • Easily support search-engine crawling on your GWT application (in development);
  • Simplify and clean-up testing code when using GIN and Guice.
  • To learn more about these components, check out the LibraryOverview.

##Notes See the GettingStarted page for details. You can also get plenty of support from developers and fellow users in the Forum, cheer for us on ohloh, or follow us on Google+!

GWTP is a fork of gwt-dispatch and gwt-presenter, many thanks to the original authors of these packages. If you're used to gwt-presenter, you might like to see how it compares to GWTP.

GWTP is actively used in various projects, including the open source PuzzleBazar and large-scale commercial products. If you like this project and would like to contribute, send an email to [email protected] or [email protected]. You can also take a look at good starting issues for new contributors. In all cases, join the discussion.

##Moved From We have moved GWTP from here.

Clone this wiki locally