The main advantages of server controls are:
On the other side client controls offer:
The Data Moving Plug-in contains both type of controls, in order to fit better all developer needs.
Data Moving Plug-in Server Controls send their input to the server, through standard or ajax posts. They support changes tracking either natively, or through the use of the TrackedListRendering and TrackedObjectRendering helpers.
As a first step we transfer the server model to the client, and we get a Client ViewModel aware html helper:
and then we use ch as an usual html helper to render our client controls:
Some controls like the SimpleGrid and the Form may work both as client control and as server controls, with exactly the same developer interface. They "feel" their environment and render as appropriate.