30 octobre 2009

Tout sur Silverlight: conference Web chez Microsoft

LogoSilverlight Comme nous l’indique Christophe Lauer sur son blog, une session gratuite aura lieu le 17 novembre chez Microsoft France. Elle s’adresse aux professionnels créant des sites et applications Web.

J’aurai le plaisir d’y animer une session technique où je montrerai comment développer une application connectée aux données, sexy de surcroît, avec Silverlight 3, Expression Blend 3 et .NET RIA Services.

Comme je suis en train de préparer cette session, si vous avez des désirs de choses à voir, laissez-moi un commentaire.

Il y aura en parallèle des sessions techniques et décisionnelles, donc quel que soit votre profil ça vaut la peine de venir. Inscription directement ici.

Au plaisir de vous y voir!

25 octobre 2009

Heberger le concepteur de workflows de Workflow Foundation

image Avec le framework 3.5, c’était possible mais un peu galère. Le framework .NET 4.0, livré avec Visual Studio 2010, permet d’héberger le concepteur de workflows facilement dans une application WPF.

Pour savoir comment, il suffit de suivre le petit tutoriel que vient de nous pondre l’équipe de Microsoft.

Héberger le concepteur de workflow, cela permet par exemple de donner la main à l’utilisateur de votre application pour qu’il puisse modifier les processus métier sans quitter l’application et sans toucher au code. Pratique.

19 octobre 2009

Visual Studio 2010 beta 2 et une date pour la release

image C’est officiel, Visual Studio 2010 vient de sortir en beta 2 (c’est le boss du développement chez Microsoft qui l’annonce). Avec quelques choses intéressantes:

  • Le truc qui tue: Team Foundation Server inclus dans toutes les versions! Plus besoin de débourser des fortunes pour avoir des outils de gestion de code source, de gestion de projet, de développement agile et d’intégration continue. Là je dis BRAVO!
  • Un éditeur Silverlight 3, avec assistance pour les expressions de data-binding (vous savez, les {DataBind} que l’on craint quand on ne s’est pas tout fait bien expliquer en formation Silverlight).
  • image Un nouveau logo, que je trouve fort joli, et en tout cas bien plus en harmonie avec le nouveau logo du Framework .NET.
  • Le framework 4.0 beta 2 qui va avec, bien sûr, et qui au passage a fait un bon régime: environ 50 Mo, face aux 100 Mo du framework 3.5.
  • Des outils pour faciliter le développement Sharepoint (ce n’est pas du luxe, ça).

Et pour finir, on a une date pour la version finale: 22 mars 2010. Vous vous souvenez de la sortie de Visual Studio 2008, il y a 2 ans à peine? Il va prendre un sacré coup de vieux, le pauvre.

15 octobre 2009

Plein les yeux avez DeepZoom et Silverlight

En mélangeant des contrôles normaux à DeepZoom, on peut obtenir des résultats impressionnants.

Si vous voulez voir quelques démos d’Hime, une jeune entreprise qui se spécialise là-dedans, c’est ici. Je vous recommande notamment Ze incredible Commode, avec formulaire à remplir caché en bas à gauche (zoomez à la molette).

Téléchargez Microsoft Silverlight

12 octobre 2009

Tutoriel Silverlight Out-of-Browser

J’ai déjà parlé du positionnement architectural de Silverlight Out-of-Browser (OOB) par rapport à Adobe Air. Je vais décrire ici comme transformer une application Silverlight pour qu’elle devienne OOB et fonctionne donc en mode déconnecté.

Pour suivre ce tutoriel, vous devez disposer de:

  • SDK Silverlight (par exemple Silverlight Tools) avec Visual Studio 2008 ou Visual Studio 2010;
  • Une application Silverlight 3 que vous avez réalisé précédemment.

Prenons notre application Silverlight 3. Dans l’explorateur de solution de Visual Studio, je clique avec le bouton droit sur le nom du projet Silverlight, en je choisis “Propriétés” dans le menu contextuel. J’arrive sur cette page:

image

Notez la case “Enable running application out of the browser”. Il faut simplement la cocher, et la moitié du travail est faite. Accessoirement, en cliquant sur le bouton “Out-of-Browser Settings”, vous pouvez spécifier des paramètres pour votre application OOB: taille de la fenêtre au démarrage, texte sur le raccourci, icônes.

Maintenant, quand votre utilisateur lance l’application, il peut cliquer avec le bouton droit sur l’application Silverlight et dans le menu contextuel il y a une nouvelle entrée “Installer l’application”. En la choississant, il obtient une boîte de dialogue de confirmation:

image

Notez que si vous voulez lancer l’installation OOB par code, au lieu que l’utilisateur passe par le menu contextuel, il vous suffit d’écrire:

Application.Install();

Cette ligne de code doit être dans un événement suite à une action utilisateur (clic sur un bouton, par exemple), sous peine de ne pas fonctionner.

Voilà, c’est fait! Il y a maintenant un raccourci dans mon menu “Démarrer” qui me permet de lancer l’application en dehors du navigateur, sans avoir à taper son URL ni d’avoir de connexion au réseau. Et ça marche sous Windows et Mac.

Dernière petite chose: si vous accédez à des services Web, il vous faudra tenir compte du fait que les services ne soient pas accessibles, vu que l’applicaton peut maintenant être lancée sans connexion à votre site Web. C’est très simple, car vous pouvez appeler la méthode NetworkInterface.GetIsNetworkAvailable(), et il y a même un événement NetworkChange.NetworkAddressChanged qui vous prévient des changements d’état de la connexion (obtention ou perte d’adresse IP).

Deux derniers points:

  • pour gérer la mise à jour de l’application, il vous suffit d’appeler (par exemple au démarrage de l’application) Application.CheckAndDownloadUpdateAsync()
  • pour désinstaller l’application, il suffit d’un clic bouton droit sur l’application, qui vous amène sur:

image

Dans la formation Silverlight 3 et Expression Blend, mes stagiaires réalisent une application OOB eux-mêmes et nous rentrons dans les détails de l’OOB. D’ailleurs, j’en parle aussi dans toutes les autres formations Silverlight pour peu que mes stagiaires soient intéressés, même si ce n’est pas directement au programme.

Silverlight Out-Of-Browser et Adobe Air

Avec Silverlight 3, nous pouvons réaliser très simplement des applications Out-Of-Browser. L’amalgame est souvent fait avec Adobe Air, pourtant ce sont des technologies différentes. Où se situe exactement Air par rapport à Silverlight?

Adobe Air est un framework qui permet de réaliser des applications “clients lourds” qui ont un accès complet à la machine (fichiers, impression, fenêtres, et j’en passe), tandis que Silverlight Out-Of-Browser (OOB) permet simplement d’étendre légèrement des applications Silverlight afin qu’elles apparaissent dans le menu “Démarrer”, en tant que raccourci sur le bureau, qu’elles tournent dans une fenêtre qui n’est pas un navigateur, et qu’elles gèrent les moments où la machine n’est pas connectée au réseau. Dans ce contexte, Silverlight OOB n’est pas équivalent à Air puisque l’application Silverlight OOB est bien une application RIA légère, multi-plateformes, avec un niveau de sécurité restreint, et n’ayant pas un accès complet à la machine.

En fait, Adobe Air est l’équivalent de WPF ou Windows Forms (du côté Microsoft) ou même du runtime Java. D’ailleurs, je ne peux pas exécuter une application Air rien qu’avec le plugin Flash, il faut que j’installe un runtime spécifique, plus lourd.

Du coup, pour ceux qui développaient déjà avec des technologies Microsoft (entendez: tout ce qui se fait sous Visual Studio), le choix est simple: pour faire du RIA comme Flash, on peut utiliser Silverlight, pour faire du client lourd comme Adobe Air, on peut utiliser Windows Forms ou WPF, et pour faire du client léger, c’est ASP.NET. Trois types de présentation, trois scénarios de déploiement différents.

Petit récapitulatif des technologies pour vous aider à faire le bon choix:

 

Microsoft

Adobe

Autre

Client lourd Windows Forms ou WPF Adobe Air Java runtime
RIA Silverlight Flash Java FX
RIA déconnecté Silverlight OOB - -
Client léger ASP.NET, ASP.NET AJAX   PHP, JSP, frameworks AJAX …

Pour savoir comment réaliser une application Silverlight OOB, lisez cet article. Dans la formation Silverlight 3 et Expression Blend, mes stagiaires réalisent une application OOB eux-mêmes et nous rentrons dans les détails de l’OOB. D’ailleurs, j’en parle aussi dans toutes les autres formations Silverlight pour peu que mes stagiaires soient intéressés, même si ce n’est pas directement au programme.