Dans une salle pleine à craquer, Arnaud Auroux et Zied nous ont présenté ce matin une mise en pratique du mode déconnecté dans Silverlight 4.

Au programme : réaliser une application Silverlight permettant d’afficher et de saisir des clients, ceci fonctionnant en mode connecté/déconnecté avec possibilité de synchroniser les modifications saisies hors ligne.

• Présentation rapide des nouveautés de Silverlight 4 et VisualStudio 2010

• Concept et application du pattern Model-View-ViewModel dans Silverlight

  • Découplage du ViewModel via une interface pour injection dans la vue par IOC d’une implémentation soit connecté ou déconnecté selon l’état de la connexion réseau

• Stockage des données sur le client par la sérialisation en JSON des objets dans l’Isolated-Storage

• Présentation du Sync Framework de Microsoft

• Mise en place du Sync Framework coté service et proposition d’une solution intéressante pour contourner le fait qu’il n’est pas compatible avec Silverlight pour le moment. (portage annoncé courant 2010)

  • La solution consiste à instancier toute la logique de synchro coté service et donc de conserver en session le DataStore correspondant aux données envoyées au client. Lors de la demande de synchro du client Silverlight, un merge de ses données provenant de son Isolated-Storage est réalisé coté service avec le DataStore conservé, une synchro conventionnelle est ensuite réalisée par le Sync Framework.

Techniques abordées: Visual Studio 2010, Silverlight 4, Model-View-ViewModel, IOC (Unity), Microsoft Sync Framework