- serialization/deserialization code is generated for you
- partial objects (you ask for the properties you need using .with()
and only those goes to the wire)
- AFAICT, the immutable object is shared across responses (and
updated as responses come back from the server)
- events (dispatch on an EventBus) about objects having been
persisted/updated/deleted on the server (as side-effects of requests
from that one client –no broadcast– *and* the
RequestFactoryEditorDriver listens to them to automatically update the
display)
- built-in JSR303 validation (after deserialization but before
invoking the "operation" on the server-side) sending back results as
Violations on the client-side (*and* you can ask the
RequestFactoryEditorDriver to display those violations, which is not
possible with the SimpleBeanEditorDriver, see issue 5567)
Of course, there are limitations too and, as always, some of the
benefits listed above come with drawbacks.