Skip to content

Comparision: Mvp4g vs. Mvp4g2

Frank Hossfeld edited this page May 1, 2018 · 7 revisions

Due to the fact that Mvp4g2 is based on a different technique, some things of Mvp4g are not possible to implement in Mvp4g2.

Mvp4g2 is based on APT instead of GWT generators.

Why do Mvp4g2 use APT?
GWT 3 will remove the GWT generators feature. Therefore all GWT generators based frameworks will not work anymore with GWT 3 - including Mvp4g!

Using APT instead of GWT generators brings some major changes:

  1. APT are triggered during the Java compile step in opposite to GWT generators which is triggered during the GWT compile
  2. APT is a different approach compared to GWT generators. Things, which are quite easy to do with GWT generators are impossible to do with APT
  3. No replacement-rules, no generate-with-rules, etc.

Also, Mvp4g2 should be a small, tiny framework. So, we removed some features of Mvp4g, we think that they aren't be used.

If you are missing something, feel free to contact us.

Feature Comparison

Feature Mvp4g  Mvp4g2
Loader at application start No Yes
Event bus interface Yes Yes
Place Management Yes Yes
Broadcast events Yes No
Annotated method in handler / presenter to add the method as event handler to the event bus No Yes
Debug feature Yes Yes
Filter event feature Yes Yes
Activate/Deactivate event feature Yes Yes
Passive event feature Yes Yes
Pass event feature Yes Yes
onBefore event feature Yes Improved
view delegate support Possible Default
inject view into presenter Yes Yes
inject presenter into view No Yes
support for handler (presenter without view) Yes Yes
support for multiple presenter feature Yes Yes
Multi module support Yes Planned
Cycle view feature Yes No
HTML 5 History Support Yes Default
Custom Place Service Yes No
Hyperlink History Token Yes No
Crawlable History Token Yes Yes

Dependencies

Mvp4g needs the following libs to run:

  • GWT
  • GIN
  • guice-assistedinject
  • GUICE
  • AOPAllience
  • javax.inject

Mvp4g2 depends on

  • elemental2-dom

on the client side.

The Mvp4g2 processor depends on

  • Mvp4g2
  • JavaPoet
Clone this wiki locally