Skip to content
branflake2267 edited this page Feb 12, 2013 · 70 revisions

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

##Reference

##Community

##News

  • 01/30/2013 - GWTP 1.0-RC-1 was released
  • 01/17/2013 - GWTP 0.8-beta-1 was released
  • 01/08/2013 - GWTP 0.8-alpha-3 was released
  • 11/26/2012 - GWTP source and management is being moved to GitHub GWTP.
  • 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.
  • 06/15/2011 - The slides for my PrairieDevCon 2011 talk on AppEngine are available here, the ones for my GWT & GWTP dojo are here, and you can get the accompanying project.

##Downloads Maven Configuration

##Plugins Eclipse Plugin source

##Why Use GWTP GWT makes programming web apps look deceptively simple. However, building an efficient application that you can easily expand is far from being a trivial task. A good way to start your project on a strong footing is to adhere to a well-established architecture molded around GWT's best features.

GWTP (goo-teepee for short), is a collection of components that build up such an architecture. You can pick the components you need 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 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 his summarizes the goal of GWTP: to offer a simple 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 Moreover, GWTP strives to use the event bus in a clear and efficient way. Events are used to decouple loosely related objects, while direct method invocation is used to clarify the program flow between strongly coupled components. The result is an application that is easy to understand and that can grow with 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