[LiveFX] Nouvelle CTP Avril 2009 du Live Framework : Updatez-vous !
Suite à mon précédent post, je vais tenter de vous donner plus amples informations sur la nouvelle CTP d’Avril 2009 du Live Framework. Pour rappel le Live Framework est une API permettant d’unifier l’accès aux services Live et en particulier au « Live Operating Environment« .
Le Live Operating Environment (LOE) est en quelque sorte votre ordinateur virtuel hebergé sur le Cloud Azure dans ce que l’on appelle le Live Desktop où vous retrouverez vos applications et données partageable avec n’importe qui et cela accessible depuis n’importe quel de vos devices (ordinateurs, laptop, smartphone, web,….) par des mécanismes de synchronisation assurant notamment le fonctionnement en mode déconnecté.
On retrouve LOE dans la version CTP de Live Mesh Tech Preview désormais accessible pour tout le monde (voir ma note du 14mars). Pour les habitués de la technologie Live Mesh Beta (http://www.mesh.com), Live Mesh Tech Preview (http://developer.mesh-ctp.com) est un peu la même à la différence :
- Live Mesh Tech Preview ajoute la notion d’application, non seulement vos données sont synchronisées sur vos devices et partageable avec vos contacts, mais aussi vos applications. En terme d’usage, dès que vous installez une application dans votre Mesh celle ci est automatiquement installée sur tous vos devices avec la possibilité de partager l’instance à vos contacts. Comme chaque device connecté au Mesh héberge le cache local de votre LOE, les applications comme les données sont accessibles et modifiables en mode déconnecté et automatiquement synchronisées au retour de la connectivité.
- Le LOE sur Live Mesh Tech Preview est accessible via un service RESTful à l’adresse https://user-ctp.windows.net/. De part l’utilisation de protocoles standard Internet pour consommer le service (REST, XML/RSS/POX/JSON) le Live Operating Environment est accessible depuis n’importe quelle plateforme, n’importe quelle technologie.
Pour plus d’information sur le sujet, je vous conseille vivement la lecteur de ces quatre articles :
- Creez votre premiere application Mesh avec le Live Framework CTP – Part1
- Creez votre premiere application Mesh avec le Live Framework CTP – Part2
- Ne confondez pas Usage Mesh et Developpement Mesh !
- Tentons de mieux comprendre Live FX, Live Mesh et ses possibilités
Revenons au vif du sujet : updatez-vous !
Installation de la nouvelle CTP
Tout d’abord pour ceux ayant déjà installé les Live Frameworks Tools, il vous faudra les désintaller avant avec votre Visual Studio fermé !
Vous pourrez ensuite installer le Live Framework Tools for Microsoft Visual Studio April 2009 CTP à télécharger ICI.
Ce package installera à la fois le SDK Live Framework et les extensions pour Visual Studio.
A la suite de l’installation, vous retrouverez cette CTP en version 0.91 dans votre %PROGRAMFILES%\Microsoft SDKs sous le dossier Live Framework. A ne pas confondre avec le dossier Live Framework SDK qui est l’ancienne version (0.9) que vous pouvez supprimer si vous le souhaitez !
Aussi je vous invite à vérifier la version de votre Live Framework Client qui doit être en version 0.9.3904.1 (à la date de publication de cet article !).
Si ce n’est pas le cas, il faudra supprimer votre device de votre Live Desktop et désintaller le Live Framework Client. Vous pourrez ensuite ré-ajouter votre device.
Notez que maintenant Live Mesh Beta et Live Mesh Tech Preview peuvent désormais tourner côte à côte.
Que contient cette CTP et quelles sont les nouveautés ?
Comme la version 0.9, cette nouvelle version contient :
- Les librairies du Live Framework pour .NET, Silverlight et JS
- Des exemples
- L’outil Live Framework Resource Browser, un navigateur web spécialisé pour parcourir le LOE
- Nouveautés : des codes snippets pour Visual Studio pour
- Créer une connexion au LOE
- Créer un MeshObject, DataFeed et DataEntry
- Créer une Query et énumérer une LiveItemCollection
Concernant les nouveautés de cette nouvelle CTP, on notera :
- Support de Windows 7 et IE 8
- Le support des Resources Script dans les applications SL et sur le Local LOE
- Un seul installeur pour le SDK et les outils/extensions VS
- Ameiloration de la stabilité et performance du client LOE
- Messages d’erreurs plus explicite
- Des code snippets pour C#
- Et une série de mise à jour / correction de bugs
Quelques « breaking changes » dans votre code à corriger !
Si vous avez déjà développé avec le Live Framework, en updatant la librairie .NET avec cette nouvelle version 0.91, votre code risque de ne plus compiler ! Et pour cause, voici les trois principals « breaking changes » dans cette nouvelle CTP :
UserState pour les méthodes Async
Voici le genre d’erreur que vous allez rencontrer : « UpdateAsync/AddAsync take X arguments »
En effet, ces méthodes demandent en paramètre un object nommé « userState » afin de pouvoir passer un objet dans une tache asynchrone. Ce paramètre était jusque là facultatif voir inexistant. Si vous n’en avez pas l’utilité, passez un « null » 🙂
Le type MIME
Pour ajouter un DataEntry à un DataFeed, nous utilisions la méthode Add (ou AddAsync) de l’objet DataEntryCollection où nous lui passons le stream de notre fichier ainsi que le « slug« , c’est a dire le nom du fichier tel qu’il sera exposé sur le service du LOE.
Le problème est que maintenant un troisième paramètre est requis : le type MIMME du fichier. Il vous faudra donc le renseigner où le laisser à string.Empty si vous ne vous en souciez pas !
ConnectLocal n’existe plus
Avant, pour se connecter sur le LOE local, c’est a dire « hébergé » par notre device via le Live Framework Client, nous utilisions dans notre code la méthode ConnectLocal().
Étonnamment, à la compilation, cette méthode est marquée comme inexistante ! En analysant cette nouvelle CTP au Reflector, nous apprenons que cette méthode est devenue « privée » !
Bien entendu cette nouvelle CTP ne supprime pas la possibilité de se connecter sur le client local (Local Desktop), mais la méthode est un peu différente. En effet, on retrouve l’appel de la méthode ConnectLocal dans la méthode Connect :
En fait, maintenant, pour se connecter en local, il suffit juste d’appeler la méthode Connect (ou ConnectAsync) en passant « null » comme credential :
En vous souhaitant une bonne « méshification » 🙂
Trackback: [Astuce] Deviner le type MIME d’un FileInfo | Sebastien.warin.fr
Trackback: [LiveFX] Le Resource Model et l’annonce du Live Framework Explorer 1.0 lors du MIX09 à Las Vegas | Sebastien.warin.fr
Trackback: “Help’Aged Mesh Camera” ou comment envoyer une photo sur Live Mesh CTP (LiveFx) depuis Windows Mobile | Sebastien.warin.fr