Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Roadmap Microsoft

Microsoft nous prépare plein de bonnes choses pour les mois à venir ... Quelques dates plus ou moins précises ont filtré aux dernières TechEd USA, voici un condensé des principales annonces de cette roadmap :

Commençons par les produits n'ayant pas de date annoncées mais dont on sait que cela viendra assez vite :

  • Silverlight 3. Plus de 50 nouvelles features dont la possibilité de faire tourner les applications en dehors du browser (comme une appli desktop WPF).
  • Blend 3, qui viendra dans la même foulée ainsi que le Silverlight Toolkit et les .NET RIA services.
  • Windows mobile 6.5.

Les produits annoncés pour la fin 2009/début 2010 :

  • Windows 7 le tant attendu ! Notamment avec le multi-touch... (yapluka trouver des 22" qui supportent ça sans trop casser la tire-lire !)
  • Visual Studio 2010 et .NET 4. Je ne peux malheureusement rien en dire, la bêta que j'ai est sous NDA mais je vous en parlerai dès que ça sera possible (disons sans trahir la NDA qu'il y a un nouveau look, et que par exemple le designer de Silverlight est intégré à l'IDE comme pour WPF, mais non je n'ai rien dit ! :-) ). On trouve aussi F#, langage avec lequel il faudra compter dans l'avenir. De nombreuses infos sont déjà accessibles sur ce langage, une petite recherche sur le Web vous en dira plus.
  • Windows server 2008 R2
  • Exchange 2010
  • Windows Azure
  • Hyper-V Server 2008 R2
  • Et plein d'autres produits (Geneva, Dublin, Stirling, Velocity... autant de noms de code qui auront bientôt un nom officiel !).

A venir en début 2010 :

  • Office 2010 (donc) avec Office Web, Sharepoint 2010, Visio 2010, Project 2010...

Première moitié 2010 :

  • SQL Server 2008 R2
  • Madison, nom de code de la base de données orientée massivement parallèle et gestion de Tera octects dans tous les sens.

Pour plus de détails et avoir plus d'infos vous pouvez accéder au blog de Bruce Kyle qui a posté un billet avec des liens intéressants sur la roadmap.

Créer des documents XAML directement depuis Word 2007

XAML, le langage de description graphique de WPF et Silverlight, est un format XML offrant une grande souplesse pour représenter aussi bien des graphismes en 3D que des fenêtres Windows et leur contenu en passant par les animations, les sites Web ou les flux vidéo et j'en oublie des tonnes... Tout comme HTML il est possible de taper les balises à la main. C'est formateur mais peu productif !

Je me rappelle d'une époque où un "vrai" développeur Web, "un dur, un tatoué", se devait de développer tout un site en HTML uniquement avec le bloc-notes, se servir de DreamWeaver ou autres logiciels de mise en page dédié était un truc de fillette ("les durs, les tatoués" utilisent bien entendu d'autres mots qui tombent sous le coup de la censure anti homophobie...). On retrouve ce réflexe de geek autiste avec toute nouvelle technologie et certains aujourd'hui mettent un point d'honneur à faire une application Silverlight ou WPF en tapant tout le XAML à la main... Même si l'aspect formateur de la chose que je soulignai plus haut possède un certain attrait, cette démarche est loin d'être la plus productive. Il existe en effet des logiciels comme Expression Blend ou même VS 2008 qui offre une approche visuelle de XAML, ce qui est le minimum pour une technologie justement basée sur le visuel !

De fait, qu'il s'agisse d'une application Silverlight ou d'une application desktop WPF ou XBap, il arrive souvent qu'on ait du texte à présenter. Et quitte à écrire des tartines à l'écran, autant que cela soit gracieux...

C'est là que ça se complique... Car bien entendu ni Blend ni VS 2008 ne sont des traitements de texte...

On se demande alors s'il n'y aurait pas une façon élégante d'utiliser Word puis de récupérer le document en XAML, bout de code qu'il n'y aurait plus qu'à coller dans son application.

Si, c'est possible ! ((c) Hassan Céhef, Les Nuls).

En utilisant Word 2007 et le plugin Word 2007 XAML Generator dont le code binaire et le code source .NET sont téléchargeables ici.

Ce plugin pour Word 2007 est intéressant à plus d'une titre. Outre sa fonction première qui est bien utile, le code source illustre la façon d'écrire des plugins pour Word 2007 ce qui donnera peut-être des envies à certains d'entre vous !

Partons d'un document Word (on voit l'onglet XAML, non affiché sur cette capture, en fin de ligne de la barre d'outils) :

 

Une fois le plugin installé, en appelant le menu "enregistrer sous" nous trouvons une option "XAML" (je vous fait grâce de la copie d'écran de ce menu). Il n'y a plus qu'à donner un nom de fichier et à valider. Nous voici maintenant en possession d'une fichier XAML qui contient notre document Word sous la forme d'un FlowDocument si on a choisi une exportation WPF ou un TextbBlock pour Silverlight.

Pour visualiser le résultat rapidement je vous conseille l'excellent freeware Kaxaml. La capture ci-dessous montre dans sa partie supérieure le FlowDocument contenant notre document Word "xamelisé" et, dans sa partie inférieure, le code XAML créé par le plugin. Une fois ce dernier copié/collé dans votre application vous aurez l'assurance d'un visuel de grande qualité. Tout d'abord le texte sera contrôlé (orthographe et grammaire de Word) limitant les coquilles (pas comme sur ce blog pour lequel je n'ai pas de correcteur!), mais il disposera aussi d'une mise en page riche avec des styles cohérents. Enfin, sa représentation à l'écran sera conforme à l'idée qu'on se fait d'une texte propre et professionnel affiché par une application de type WPF ou Silverlight.  Que des avantages donc.

 

On notera que le plugin affiche aussi une barre d'outil dans Word 2007 permettant de régler certains paramètres et d'effectuer le choix entre une exportation WPF ou Silverlight (qui utilise un TextBlock au lieu d'un FlowDocument). La fonction de preview qui est aussi disponible dans la barre d'outils est particulièrement appréciable.

Voici le FlowDocument intégré dans une fenêtre WPF:

Savoir faire fonctionner tous les outils ensemble pour produire des applications riches est une grande force, disposer de petits logiciels ou plugins tels que Word 2007 XAML Generator permet de combler le gap entre certains de ces outils, de faire un pont. Un pont c'est bête, parfois juste une petite planche posée au-dessus d'une tranchée de chantier. Mais qu'est-ce que ça change la vie !

Bon Dev

... Et Stay Tuned !