Featured downloads:
gin-r137.jar
gwtp-0.4.jar
gwtp-0.4.zip
gwtpsamples-0.4.zip
mergelocales.pyShow all » |
|
Featured wiki pages:
BuildingWithMaven ComparisonWithGwtPresenter GettingStarted ReleaseNotes Show all » |
GWTP goo-teepee
A complete model-view-presenter framework to simplify your next GWT project.
NEWS:
09/10/2010 – Version 0.4 has been released! See the ReleaseNotes. Get it from the download section or the Maven repository. Also, check out BookedIN beta, build with GWTP and running on AppEngine. (user: demo@bookedin.net pass: demo)
08/21/2010 – GWTP now uses continuous integration! Check the build status or download the latest snapshot jar from here (look in the artifact column).
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> {}This 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!
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 a component that lets you efficiently implement a Command pattern in your application. It also contains a component to help you organize your internationalization strings. To learn more about these components, check out the LibraryOverview.
GWTP release 0.3 beta is available from the download section. See the GettingStarted page for details. You can also get plenty of support from developers and fellow users in the Forum, or cheer for us on ohloh!
Notes:
- 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 or read what Andreas Borglin says about switching.
- 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 philippe.beaudoin@gmail.com. You can also take a look at good starting issues for new contributors. In all cases, join the discussion.