summaryrefslogtreecommitdiffstats
path: root/documentation/gwt/gwt-vaadin-6-migration.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/gwt/gwt-vaadin-6-migration.asciidoc')
-rw-r--r--documentation/gwt/gwt-vaadin-6-migration.asciidoc58
1 files changed, 58 insertions, 0 deletions
diff --git a/documentation/gwt/gwt-vaadin-6-migration.asciidoc b/documentation/gwt/gwt-vaadin-6-migration.asciidoc
new file mode 100644
index 0000000000..6cecc581c5
--- /dev/null
+++ b/documentation/gwt/gwt-vaadin-6-migration.asciidoc
@@ -0,0 +1,58 @@
+---
+title: Migrating from Vaadin 6
+order: 12
+layout: page
+---
+
+[[gwt.vaadin-6-migration]]
+= Migrating from Vaadin 6
+
+((("Vaadin 6 Migration", "add-ons", id="term.gwt.vaadin-6-migration", range="startofrange")))
+
+
+The client-side architecture was redesigned almost entirely in Vaadin 7. In
+Vaadin 6, state synchronization was done explicitly by serializing and
+deserializing the state on the server- and client-side. In Vaadin 7, the
+serialization is handled automatically by the framework using state objects.
+
+In Vaadin 6, a server-side component serialized its state to the client-side
+using the [interfacename]#Paintable# interface in the client-side and
+deserialized the state through the [interfacename]#VariableOwner# interface. In
+Vaadin 7, these are done through the [interfacename]#ClientConnector# interface.
+
+On the client-side, a widget deserialized its state through the
+[interfacename]#Paintable# interface and sent state changes through the
+[interfacename]#ApplicationConnection# object. In Vaadin 7, these are replaced
+with the [interfacename]#ServerConnector#.
+
+In addition to state synchronization, Vaadin 7 has an RPC mechanism that can be
+used for communicating events. They are especially useful for events that are
+not associated with a state change, such as a button click.
+
+The framework ensures that the connector hierarchy and states are up-to-date
+when listeners are called.
+
+[[gwt.vaadin-6-migration.quick]]
+== Quick (and Dirty) Migration
+
+Vaadin 7 has a compatibility layer that allows quick conversion of a widget.
+
+. Create a connector class, such as [classname]#MyConnector#, that extends
+[classname]#LegacyConnector#. Implement the [methodname]#getWidget()# method.
+
+. Move the [literal]#++@ClientWidget(MyWidget.class)++# from the server-side
+component, say [classname]#MyComponent#, to the [classname]#MyConnector# class
+and make it [literal]#++@Connect(MyComponent.class)++#.
+
+. Have the server-side component implement the LegacyComponent interface to enable
+compatibility handling.
+
+. Remove any calls to [literal]#++super.paintContent()++#
+
+. Update any imports on the client-side
+
+
+
+(((range="endofrange", startref="term.gwt.vaadin-6-migration")))
+
+