On Wed, Mar 15, 2017 at 6:53 PM Vojtech Szocs <vszocs@redhat.com> wrote:
Hello folks,

we're using the latest GWT version in master UI now [1].

We can start using Java 8 syntax in our frontend code. GWT 2.8 also brings partial support for Java 8 standard library APIs, see "JDK emulation" at [2] for details.

[1] https://gerrit.ovirt.org/#/q/topic:gwtupgrade
[2] http://www.gwtproject.org/release-notes.html#Release_Notes_2_8_0_RC1

Effectively, all Engine (Java Maven) modules [3] are now Java 8 source & target compilant.

[3] except backend/manager/modules/extensions-api-root

With this upgrade, the GWT UI should be a bit faster - generated JavaScript should take advantage of new web APIs (e.g. using ES6 Maps to implement Java HashMap) as well as general performance improvements (e.g. using a faster "long" emulation).

GWT 2.8 removes deRPC (direct-eval RPC) mechanism but that's OK because we're already using the standard GWT RPC [4].

[4] https://gerrit.ovirt.org/#/c/65735/

There are no changes to existing build & development process:
- debugging via Java IDE (aka Classic Dev Mode) remains the default debug method
- debugging via browser (aka Super Dev Mode) can be enabled via DEV_BUILD_GWT_SUPER_DEV_MODE flag [5]

[5] example: $ make gwt-debug DEBUG_MODULE=webadmin DEV_BUILD_GWT_SUPER_DEV_MODE=1

Note that in GWT 2.8 the Super Dev Mode is the new default debug method (with Classic Dev Mode being deprecated).

There are still some post-upgrade tasks to do, we're tracking them on Trello: https://trello.com/b/o26RrVLz/post-gwt-2-8-upgrade-tasks

If you encounter any issues related to GWT compilation or debugging, let me know.


Congrats for this upgrade and effort.

It is interesting that now Optional and Map are now emulated and it will be interesting to see how we can improve the value object usage.

What does jsinterop brings in?

Devel mailing list