Wednesday, November 14, 2018

J2CL is public!

Today, Google made J2CL public. The repo can be found here:

Now, developers can test application and frameworks against J2CL Check, how Nalu ( and MVP4G2 ( will work with J2CL.

A good point to start is using the project generators of MVP4G2 and Nalu:

* Nalu:

* MVP4G2:


Friday, October 26, 2018

Nalu - A New Framework

Mvp4g is awesome and with the new version ready for J2CL. No doubt, a great framework. But it takes some time to understand it and it behaves different than other GWT frameworks we know (f.e.: GWT Activities & Places),

Based on a discussion with Colin Alworth and Ignacio Baca Moreno-Torres, the framework developer team started to rethinking the approaches of MVP4G and defined a list of goals, that a new framework should provide:
  • Fully support of the browser's back- forward- and reload-button.
  • An optional loader that will be executed at application start to load data from the server.
  • A client side context, router and event bus which will be automatically injected in every controller. (Handler have only access to the context and the event bus)
  • Filters to intercept routing.
  • Full history support.
  • Separation of views into a controller and a component with framework sided instantiation.
  • A controller life-cycle using start-, mayStop- and stop- similar to GWT Activities.
  • Supports HTML links and programmatically routing thanks to a router.
  • Controller based handler manager, that will remove all handlers from the event bus in case the controller is stopped to prevent memory leaks (handler registrations must be added to the manager).
  • Support for UiBinder (nalu-plugin-gwt)
  • Nalu composites to support smaller classes
  • Controller & component caching
  • Component creation inside a controller to support GWT replacement rules and static factory methods
  • Ready to use with J2CL
Based on that list we started implementing a new framework. The main idea is to use hashes for routing, with less coding and no worry about history.

Today, we are very close to release version 1.0.0 of this new framework!

The new framework is called Nalu.

You will find more informations about Nalu here:

There are a few examples that shows how to use Nalu:

And to start creating you own experiences, there is a boot starter project, that generates a ready to import Nalu Maven project:

The Project generator uses Domino-UI, a new awesome widget lib ready for J2CL!

If you have questions about Nalu, please use the Gitter Room.

Wednesday, May 9, 2018

MVP4G2 is released!

A few days ago we have released version 1.0.1 of MVP4G2.  

This version contains all features to build application using history and event handling. Most of the features of MVP4G are implemented (except those, which depends on GWT class or those which are not be able to implement because of the using APT). 

To start working with MVP4G2 you can:

* read the documentation: GitHub MVP4G2 Wiki 

* take look at the examples: GitHub MVP4G2 examples

* generate a project with the MVP4G2 project generator: MVP4G2 Initializer . The documentation of the MVP4G2 Initializer can be found here

MVP4G2 has no dependencies to GWT and does not use generators. 

MVP4G2 is tested against J2CL (thanks to Colin Alworth) and works!

Of course MVP4G2 also works with GWT 2.8.2 and any current available widget library (f. e.: native GWT widgets, GXT, widgets based on Elemento, Elemental 2, etc.)

Thursday, April 5, 2018

MVP4G2 RC 2 is out!

MVP4G2 RC 2 is out!

This version fixes some issues related to the recompile and should be nearly ready to use with J2CL one it is available!

There is one known issue, which will be fixed with the next release candidate: The debug option will print debug informations in prod mode on the console. This problem will be fixed with release candidate 3.

Maven Central is updated!

Wednesday, February 7, 2018

MVP4G2 Beta 2

I just have updated mvp4g2.  

One of the major change is, that the historyOnStart-attribute has been remove from the @Event-annotation and been added to the @Application annotation.

Besides that a new feature is implemented that changes the way events and event handlers are defined. Now, it is no longer necessary to use the handler- or broadCast-attirbue inside the Event annotation to bind a presenter to an event. All you have to do now, is to define an event inside the event bus and annotate a method with @Event.

An event definition will look like this: 

void gotoDetail(long id);

Add this code to a mvp4g2 based  presenter or handler:

public void onGotoDetail(long id) {

That’s all. Mvp4g2 will wire up the event with the handler method.

Of course the handler-attrnute as most of the other attributes from the mvp4g Event-annotation are still supported. 

You will find a list of features currently  implemented in mvp4g2 here:

All examples have been updated.   

Next thing will be the implementation of the multi module feature.