View on GitHub

Mvp4g

A framework to build a gwt application the right way

Download this project as a .zip file Download this project as a tar.gz file

Welcome to MVP4G

GWT is a very powerful framework that allows you to build efficient applications, especially if you follow the best practices described by Ray Ryan at Google IO 2009:

(see http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html for the video or http://extgwt-mvp4g-gae.blogspot.com/2009/10/gwt-app-architecture-best-practices.html for the text, thanks to Araik Minosian.) However, following these best practices is not always easy and you can end up with a project with a lot of boilerplate code that is hard to manage.

That’s why Mvp4g offers a solution to following these best practices using simple mechanisms that only need a few lines of code and a few annotations.

This is all you need to create an event bus with four events:

@Events(startPresenter = CompanyListPresenter.class, module = CompanyModule.class) 
public interface CompanyEventBus extends EventBus {          
        @Event( handlers = CompanyEditPresenter.class )        
        public void goToEdit( CompanyBean company );          
        
        @Event( handlers = CompanyDisplayPresenter.class )         
        public void goToDisplay( CompanyBean company );          
        
        @Event( handlers = { CompanyListPresenter.class, CompanyDisplayPresenter.class } )         
        public void companyCreated( CompanyBean newBean );          
        
        @Event( handlers = CompanyListPresenter.class )         
        public void companyDeleted( CompanyBean newBean ); 
}

Eventbus:

MVP:

History Management/Place Service:

Not only does Mvp4g help you follow the best practices, it also provides mechanisms to build fast applications:

To understand how the framework works, you can look at the documentation, the tutorials or the examples.

Mvp4g has been successfully used on several commercial projects, take a look at a few of them. You can also read and post feedback on the official GWT marketplace or Mvp4g forum.

Any comments or ideas to improve the framework are more than welcome. If you want to help us to improve and contribute to this project, feel free to do so.

To ensure quality, library code is covered by JUnit tests.

Support or Contact

Having trouble using MVP4G? Check out our documentation, use the mvp4g google group or the MVP4G Gitter room.

MVP4G version 2 => MVP4G

We have started working on the next version of mvp4g. The new version will be called mvp4g2, uses APT instead of GWT generators and has no dependencies to GWT and GIN. Removing the dependencies to GWT and GIN lets you use mvp4g2 with GWT 2 (version > 2.8.0) and with J2CL/GWT 3 once it is available.

MVP4G2 can be found here.