GWT 2.8.0 it's coming
EDIT: before continue reading it's good to know that on the official gwt site is reported a new documented final spec of JsInterop features. I will write a post on it as soon as possible
EDIT: to the offcial repository site it's possible to find last release note of the RC1 release. Major updates are the JDK8 API emulation and major compilation bugs fixed.
The missing piece
Let's look more deep into JsInterop:
The idea of a structured core written in Java together with a layer for fast functional development it's not innovative, (Groovy is a great example of what i mean) but in my humble opinion it should be a development pattern for many enterprise project. This approach helps developers to detect structural modifications in each development iteration and to maintain the functional part decoupled from the structural part of our application. The good news is that this approach will become more maintainable with GWT JsInterop feature.
It can be used on a Java class and exports all public fields and methods, for instance:
@JsMethod, @JsProperty, @JsConstructor
With these annotations we can instruct the GWT compiler to export only some pieces of our Java class such as 'methods', 'fields' and an only and one only constructor.
On the other hand we could instruct the GWT compiler to not export some pieces of our class, for instance if we know that only one field has not to be exported this annotation is just what we are looking for
@JsType(name = "MyType", namespace = "lb")
....and don't forget we can separate logic in packages too :)
@jsinterop.annotations.JsPackage(namespace = "lb") package it.luigibifulco