Silverlight 3, Découverte des nouveautés

Je viens de réaliser une série de post traitant des principales nouveautés de Silverlight 3 :

Voici d'autres liens traitant du même sujet :

Amis lecteurs mettez vos lecteurs RSS à jour ! Vous retrouverez mon nouveau flux RSS à l'adresse suivante : http://www.guillaumeandre.com/feed

D'autres articles sont à venir !

Silverlight 3 SDK Beta 1, comment l'installer ?

La version 3 de Silverlight commence à prendre forme. Microsoft vient de mettre à disposition des développeurs une première version intitulé Béta 1. Voici ci-dessous un récapitulatif des liens à retenir :

Je vous recommande d'installer uniquement l'executable "Tools Beta 1" car celui ci comprend :

  • Silverlight 3 developer runtime
  • Silverlight 3 software development kit
  • KB967143 for Visual Studio 2008 SP1
  • and/or KB967144 for Visual Web Developer 2008 Express with SP1
  • Silverlight 3 Tools for Visual Studio 2008 SP1 and/or Silverlight 3 Tools for Visual Web Developer 2008 Express with SP1

Autrement dis, comparé aux version précédentes Microsoft a fait un réel effort en ce qui concerne l'expérience d'installation pour les développeurs car ce dernier package comprend l'intégralité des executables/outils nécessaires au développement d'application Silverlight 3.

Silverlight Tools pour Visual Studio 2008 SP1 et Silverlight Toolkit

Silverlight Tools pour Visual Studio 2008 SP1

Microsoft vient de mettre à disposition la version finale des "Silverlight Tools for Visual Studio 2008 SP1". Vous pouvez ainsi dès à présent installer dans Visual Studio 2008 SP1 l'utilitaire Silvelright Tools. Celui-ci vous permettra de créer des applications Silverlight 2 en ajoutant, entre autre, des templates d'application propres à Silverlight 2 dans VS2008.

La page de téléchargement se trouve ici : http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&displaylang=en

Testé et approuvé avec une version anglaise de VS2008.

Silverlight Toolkit

Vous trouvez que les contrôles natifs de Silverlight ne sont pas assez nombreux ?

Une première version des Silverlight Toolkit reposant sur Silverlight 2 RTW est disponible en téléchargement le site CodePlex à l'adresse suivante : http://www.codeplex.com/Silverlight/Release/ProjectReleases.aspx?ReleaseId=18804
Ce projet expose ainsi aux développeurs la possibilité de venir rajouter des contrôles à leurs projets Silverlight. Ces contrôles sont orientés données (statistiques ou non) et mise en page.  On y retrouve ainsi des contrôles que les habitués de WPF reconnaîtront tel que : DockPanel, WrapPanel, etc. mais aussi des contrôles plus indispensables tel que le TreeView et le Label.

Le package Silverlight Toolkit se décompose en deux parties : une partie exemple et une partie avec les sources. On y retrouve d'ailleurs un fichier CHM spécifique à ces nouveaux contrôles. Plutôt pratique pour les implémentés ! Dans la partie "Sample" se trouve deux applications Silverlight récapitulant tous les contrôles avec d'un côté les Contrôles de données et de mise en page et de l'autre les contrôles spécifique à l'affichage de statistiques.

On notera que l'on peut binder tout ces contrôles, les personnalisés (style/skin) mais aussi personnaliser leurs états avec le VisualStateManager.

Ci-dessous une liste non exhaustive de screenshots qui vous aideront à visualiser le contenu de ce package :

sltoolkit

Silverlight 2 RC0

Silverlight 2 passe en version RC0. Cette version a pour but de faciliter la migration des applications Silverlight 2b vers Silverlight 2. De ce fait, cette version de Silverlight est "reservé" aux développeurs afin de commencer les éventuelles modifications. Il n'y aura donc pas de déploiement (automatique) de la version RC0 de ce plugin chez le grand public. Comprendre : version pour vos environnement de test messieurs les développeurs.

Dans cette nouvelle version on peut trouver quelques nouveautés. Je vais tenter d'en faire une petit liste non exhaustive :

  • Changement du type MIME : "application/x-silverlight-2-b2" remplacé par "application/x-silverlight-2"
  • Un nouveau Skin par défaut pour les contrôles. Ouf diront certains...
  • 3 nouveaux contrôles : PasswordBox, ProgressBar et ComboBox

step1 

  • Le layout rendering de Silverlight qui pourrissait le travail des designer avec les "pixel snapping" a été retravaillé... et cela est une très bonne nouvelle.
    Avant : 
     avant
    Maintenant :
     maintenant
    Simple non ?
  • Les Fonts doivent à présent être marquées en tant que Ressource au sein de votre projet.
  • ... La liste complète des nouveautés ...

Les outils :

Néanmoins, toujours pas de date pour la RTM. Mais en regardant le calendrier des événements Microsoft il y a fort à parier que cela arrive vite.

Source : http://weblogs.asp.net/scottgu/archive/2008/09/25/silverlight-2-release-candidate-now-available.aspx

Silverlight vNext, support du format vidéo H.264 et du format audio AAC

Tout est dit dans le titre. C'est dans un Q&A avec Scott Guthrie lors de l'IBC2008 que nous apprenons la nouvelle : "Les formats H.264 et AAC seront supportés dans une version future de Silverlight".

"At IBC 2008 we will be demonstrating a technology preview of H.264 video and Advanced Audio Coding (AAC) audio playback support in Silverlight, and H.264 authoring using Microsoft Expression Encoder and Windows Server 2008 for delivery. Until now, Silverlight has supported the SMPTE VC-1 and Windows Media formats, as well as MP3 for audio, enabling customers to take advantage of broad support across the Windows Media ecosystem, including third-party tools, service providers and content delivery networks.

We’ve always wanted Silverlight to support a variety of formats, so today we’re announcing that H.264 and AAC support will be available in a future version of Silverlight, which will offer content owners greater flexibility and choice to deliver video and audio."

Ceci est bien entendu une très bonne nouvelle pour nos chers clients qui auront désormais une alternative de format pour exposer leurs médias via Silverlight. Pour rappel seul les formats VC-1 Windows Medias et le format MP3 sont supportée actuellement par Silverlight. Néanmoins, aucune date n'a été annoncé offciellement concernant l'implémentation de ces formats.

En savoir plus sur le format H.264 et le format AAC.

Silverlight 2 : Les outils - 3 châpitres gratuits... mais en anglais

Vous souhaitez en savoir un peu plus sur les bases de Silverlight 2 et plus particulièrement sur les outils que l'ont peut utiliser ? Microsoft met à votre disposition les 3 premiers châpitres en teasing du livre intitulé "Introducing Microsoft® Silverlight™ 2, Second Edition" écrit par Laurence Moroney. On y retrouve entre autre, Silverlight l'architecture, Silverlight et la suite Expression, Silverlight et Visual Studio 2008. 72 pages gratuites (en anglais) à ne pas laisser passer pour les friands de nouvelles techno.

Visualiser les 3er châpitres gratuits via PDF (1,7 MO)

En savoir plus sur le livre "Introducing Microsoft® Silverlight™ 2, Second Edition"

Silverlight 2 beta 2, en savoir plus sur la license "Go-Live"

Que puis-je faire avec Silverlight 2 beta 2 ? Puis-je le mettre en production ? Est-il possible de l'incorporer dans les projets client ?... Vous trouverez une réponse à toutes ces questions dans les "Termes du contrat de licence logiciel en version précommerciale Microsoft Silverlight 2 bêta 2" accessible à cette adresse :

http://www.microsoft.com/silverlight/resources/license.aspx?v=2.0.30523

Par la pratique, ce qu'il faut retenir :

  • Vous êtes entièrement responsable de tout dommage qui pourrait résulter d'un défaut du logiciel.
  • Vous devez informer tous les bénéficiaires que vos applications Silverlight utilisent une version précommerciale non prise en charge et limitée dans le temps du logiciel, qui est susceptible de ne pas fonctionner correctement.
  • Vous n'êtes autorisé à proposer des applications Silverlight applications à des fins commerciales, dans le cadre d'un abonnement payant ou sur des pages Web financées par de la publicité.
  • Si vous voulez utiliser ou distribuer vos programmes à des fins commerciales, vous devez le faire en vertu d'un autre contrat ou d'un avenant au présent contrat.  Pour plus d’informations sur la demande de droits d'utilisation à des fins commerciales, veuillez consulter le site http://go.microsoft.com/fwlink/?Linkid=116610
  • Ce logiciel est une version précommerciale. Il peut ne pas fonctionner correctement ou comme une version finale du logiciel.  Nous sommes autorisés à le changer pour la version commerciale finale.  Nous sommes également autorisés à ne pas éditer de version commerciale.
  • ...

Bien entendu je vous invite à lire l'intégralité des termes si vous décidez de commencer un projet avec Silverlight.

Silverlight 2, les ToolTips (bulles d'aide)

Pour ajouter un ToolTip basique à un contrôle :

<Button x:Name="bt" Content="Button" Width="180" Height="40" ToolTipService.ToolTip="Message d'aide" />
tooltip_a

Pour ajouter un ToolTip "enrichi" à un contrôle :

<Button x:Name="bt" Content="Button" Width="180" Height="40">
     <ToolTipService.ToolTip>
          <StackPanel Orientation="Horizontal">
               <Path Height="11" HorizontalAlignment="Left" VerticalAlignment="Top" Width="8.412" RenderTransformOrigin="0.5,0.5" Fill="#FF000000" Stretch="Fill" Data="M164,49 L164,65 L176,57 z" Margin="0,2,4,0" />
               <TextBlock Text="Message d'aide" />
         </StackPanel>
     </ToolTipService.ToolTip>
</Button>
tooltip_b

Pour ajouter, ou modifier un ToolTip basique via du code C# (ce code peut être copier/coller dans l'évènement load de votre page) :

ToolTipService.SetToolTip(bt, "Message d'aide");
// bt.SetValue(ToolTipService.ToolTipProperty, "Message d'aide");

Pour ajouter, ou modifier un ToolTip enrichi via du code C# (ce code peut être copier/coller dans l'évènement load de votre page) :

StackPanel sp = new StackPanel();
sp.Orientation = Orientation.Horizontal;
TextBlock tb = new TextBlock();
tb.Text = "Message d'aide";
sp.Children.Add(tb);
ToolTipService.SetToolTip(bt, sp);
// bt.SetValue(ToolTipService.ToolTipProperty, sp);

Pour accéder à un ToolTip basique ou enrichi existant via du code C# (renvoi un object typé dans les 2 cas) :

ToolTipService.GetToolTip(bt);
// bt.GetValue(ToolTipService.ToolTipProperty);

D'après le Silverlight SDK 2 Beta 2 il n'y a visiblement pas de VisualStateManager en ce qui concerne le ToolTipService... Le lien est étrangement? cassé.

N.B: La syntaxe XAML des ToolTips a été modifié entre la version Beta 1 et Beta 2, mettez à jours vos applications pour éviter les erreurs dans VS ou Blend. De plus, les méthodes suivantes n'existent plus dans la version Beta 2 (dommage) :

  • BetweenShowDelayProperty
  • InitialShowDelayProperty
  • ShowDurationProperty
  • GetBetweenShowDelay
  • GetInitialShowDelay
  • GetShowDuration
  • SetBetweenShowDelay
  • SetInitialShowDelay
  • SetShowDuration

Silverlight et Firefox 3

Qu'en est-il de Silverlight après la mise en production de Firefox 3 ?

Constat :

  1. Les applications Silverlight 1.0 ne fonctionnent plus
  2. Les applications Silverlight 2 beta 1 et antérieur "crash"
  3. Les applications Silverlight 2 beta 2 fonctionnent

Le fait que les applications Silverlight 2 beta 1 ne fonctionnent plus n'est pas surprenant en soit étant donné que cette version n'est pas soumise à la Go-Live commercial. Autrement dit, vous n'êtes pas censé utiliser cette technologie pour un client.

En ce qui concerne la version 1.0 de Silverlight c'est une autre histoire. Là nous sommes en RTM et Firefox 3 ne veut rien savoir : il demande de re et retélécharger le plugin Silverlight à l'infinie...

Il se trouve que lors de l'initilisation du plugin silverlight il y a un problème en ce qui concerne le versionning des navigateurs et donc la fonction : Silverlight.isInstalled("1.0") renvoie toujours False... Plutôt embêtant... Microsoft propose donc pour répondre à cette problématique une nouvelle version du fichier javascript Silverlight.js. Cette version est disponible dans la dernière version du SDK Silverlight 2 Beta 2 dans le dossier "Tools". Pour éviter de download les 50mo du SDK pour 1 fichier, j'ai mis une version de ce fichier javascript sur le site wygwam.

En résumé pour vos nouvelles applications, si vous avez le choix, passez sur la version Silverlight 2 Beta 2 sinon faites du 1.0 en utilisant la dernière version du fichier Silverlight.JS.

N.B : Si vous personnalisez l'expérience d'installation du plugin ce genre de problèmatique peut être évité. Pour exemple, la présentation des métiers du site Wygwam.com réalisée en SIlverlight 1.0 propose une version HTML en cas de non présence du plugin Silverlight. Ainsi, le contenu est accessible par tous h24 (et même si M. Firefox ne consulte pas ses équipes de Firebug...).

Silverlight 2, Récupérer la taille d'une image XAML via du code

Si si c'est possible... mais ce n'est pas spécialement évident au premier abord. Je m'explique, pour différente raison il est parfois nécessaire de devoir accéder aux dimensions d'une image renseignées dans le document XAML de votre application. Vous allez me dire, rien de bien compliqué...

XAML :

<Image x:Name="imPreview" Width="200" Height="120" Source="image.jpg" />

Code (C#) :

imPreview.GetValue(Image.WidthProperty);

Mais qu'en est-il lorsque je ne souhaite pas imposer une taille et une source à mon image dans le XAML ? Tout bêtement... je ne renseigne pas les propriétés Width et Height dans mon document XAML et je vais charger ensuite l'image Source via le code.

XAML :

<Image x:Name="imPreview" />

Code (C#) :

BitmapImage bi = new BitmapImage(new Uri("image.jpg", UriKind.Relative));
imPreview.Source = bi;

...et dans ce cas précis le code C# (imPreview.GetValue(Image.WidthProperty)) retourne la valeur NaN et il en est de même pour la valeur ActualWidth... Ainsi nous nous retrouvons bloqué.

Pour manipuler l'image à souhait et récupérer le taille de l'image il va falloir utiliser un "workaround" via l'évènement image "SizeChanged".

Ce qui donne, sur le page load :

BitmapImage bi = new BitmapImage(new Uri("image.jpg", UriKind.Relative));
imPreview.Source = bi;
imPreview.SizeChanged += new SizeChangedEventHandler(imPreview_SizeChanged);

void imPreview_SizeChanged(object sender, SizeChangedEventArgs e)
{
     // e.PreviousSize.Width; de même pour Height
     // e.NewSize.Width;
de même pour Height
}

Ainsi vous pouvez récupérer la taille de votre image via NewSize. En modifiant le Stretch de l'image vous obtenez bien la taille réelle de l'image dans votre page XAML.

Ex1: <Image x:Name="imPreview"  Stretch="None" />
Renvoie la taille physique de l'image vu qu'elle n'est pas déformée.
Ex2: <Image x:Name="imPreview"  Stretch="Fill" />
Renvoie la taille de l'image stretché à l'élément parent.

N.B. : Si votre conteneur parent est un <Canvas> vous ne serez pas capable de récupérer l'évènement SizeChanged...

 

Le pourquoi du comment...

Tant que l'image n'est pas download, on ne peut pas récupérer sa taille présumée. L'idée est donc d'écouter le SizeChanged de l'image pour intercepter le load de l'image dans le document XAML. Il existe d'autres possibilités tel que utiliser un interval mais cela est beaucoup moins propre...

En espérant que cela vous servira.

Silverlight 2 Beta 2 "commercial Go Live license" annoncé

Silverlight 2 Beta 2 a été annoncé hier lors du keynote d'ouverture de l'édition amérique nord du Teched 2008 pour les développeurs. Après la 1.1, la Beta 1 voici donc la Beta 2, a quoi bon me direz vous ?... C'est très simple cette fois-ci fini la rigolade, la Beta 2 a pour label "commercial Go Live license" autrement dit il n'y a plus à hésiter quant à la mise en production de cette technologie. Le label "commercial Go Live license" signifie aussi en partie que seule les modifications apportées à la technologie seront au niveau de la performance ou alors simplement de la correction de bug. Ceci assure une certaine pérennité à votre code en ce qui concerne sa migration vers la version RTM...

Qu'est ce que cela implique ?

A nouvelle version de techno, nouvelle version d'outils. C'est donc une nouvelle version de Blend qui va voir le jour estampillée "Expression Blend 2.5 June 2008 Preview" ainsi que pour les pro développeurs les "Silverlight Tools Beta 2 for Visual Studio 2008".

Oui mais quand ?

"This is going to be available later in the week". Donc... stay tuned !

Les nouveautés ?

  • Nouveau controle : TabControl
  • Nouvelles fonctionnalités pour le Calendar : Multi-Selection...
  • Nouvelles fonctionnalités pour la DataGrid : Multi Column, Sorting, Auto sizing...
  • Nouvelles fonctionnalités pour la TextBox : Text wrapping et scrollbar pour la TextBox ! (fini les tips !)
  • Au niveau de l'ui framework plus de compatibilité entre Silverlight et WPF
  • Le Visual State Manager qui est un nouveu modèle pour templater les controles (et qui va être supporté par la nouvelle version de Blend... enfin!)
  • LINQ-to-JSON, ADO.NET Data Services supportés
  • DeepZoom un nouveau format de fichier XML...
  • Et des meilleurs perf...

Silverlight 2, Importer une Font (une police) dans votre application

Voici une petite nouveauté Silverlight 2 qui je pense aura son importance auprès des graphistes : Silverlight 2 embarque l'import de Font nativement. Je m'explique, en Silverlight 1.0 lorsque vous aviez besoin d'utiliser une police spécifique dans votre application, vous étiez obligé d'utiliser l'objet Downloader pour télécharger la police sur le client.

Petit rappel avec Silverlight 1.0.

1 - On télécharge la font via l'objet Downloader :

function onLoad(sender, eventArgs)
{
     var plugin = sender.getHost();
     var downloader = plugin.createObject("downloader");
     downloader.addEventListener("Completed", onCompleted);
     downloader.open("GET", "angelica.ttf");
     downloader.send();
}

2 - Sur l'évènement onCompleted de l'objet Downloader on peut utiliser la méthode setFontSource en récupérant le sender autrement dit le fichier TTF :
function onCompleted(sender, eventArgs)
{
     var myTextBlock = sender.findName("myTextBlock");
     myTextBlock.setFontSource(sender);
     myTextBlock.fontFamily = "Angelica";
     myTextBlock.text = "TextBlock";
}
A présent avec Silverlight 2 il est possible de remplacer ces 10 lignes de code par "1 ligne" et ce directement dans votre fichier XAML :
 
<TextBlock Text="TextBlock" FontFamily="angelica.ttf#Angelica" FontSize="72"/>
 
Respecter la syntaxe suivante : FontFamily="fichier(.tff||.zip)#Le nom de la police"
...et vous pourrez arriver à ce type de résultat :

image 
Bien entendu, que ce soit avec Blend ou Visual Studio n'oubliez pas d'inclure la police en question dans votre projet...
Pratique quand votre graphiste n' est pas adepte des fonts windows par défaut... non je ne citerais personne.

Source : http://msdn.microsoft.com/en-us/library/cc189010(VS.95).aspx

Silverlight 2b1 Tips : Comment réaliser une TextBox multiligne

La version beta 1 de Silverlight 2 ne permet pas de créer une TextBox multiligne comme nous pourrions le faire en web avec la balise HTML <textarea />. Pour pallier à ce manque (et en attendant la beta 2 ?) voici une solution à base de XAML uniquement.

<ScrollViewer Width="300" Height="150" Background="Transparent" VerticalAlignment="Top" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible">
      <TextBox Padding="0,0,7,9" BorderThickness="0" MaxLength="100" AcceptsReturn="True"/>
</ScrollViewer>

Malgré ce que j' ai pu trouver sur certain forum il est donc possible de s' en sortir sans ligne de code en utilisant un ScrollViewer (en forçant l' affichage de ses scrollbars) et la propriété AcceptsReturn de l'élément TextBox. AcceptsReturn permet ni plus ni moins la prise en charge du retour chariot.

TextBox MultiLine  

WygDay 2008, Session Silverlight 2 & Expression 2

Le WygDay en pratique :

En ce qui me concerne, je co-animerais une session dédié à Silverlight 2 et Expression 2 avec mon confrère MVP Yannick Lejeune.
Voici l'intitulé de la session : "Innovez avec Silverlight et la gamme Expression".

Nous aborderons en autres :

  • De Expression à Silverlight en pratique...
  • Expression Studio 2 (essentiellement Web et Blend)
  • Silverlight 2 overview avec :
    • Démo nouveaux Contrôles
    • Démo Styles & Templates
    • Démo Isolated Storage
    • Démo DeepZoom
    • Démo ...

Je ne vais pas non plus tout vous dévoiler donc rendez-vous jeudi prochain à Lille.

EDIT 23 mai :

Hier se déroulait le WygDay 2008 et à cette occasion, comme je vous l'avez annoncé jeudi dernier, j'ai pu co-animer une session dédié à Silverlight 2 et Expression 2 au côté de Yannick Lejeune. Comme promis vous trouverez l'intégralité des slides de la session à cette adresse : "Innovez avec Silverlight et la gamme Expression". Merci aux personnes présentes et à l'année prochaine pour la 3ème édition !

wygday-silverlight-agenda 

 

clip_image001

Flash 10, Codename "Astro"

Adobe vient d'annoncer via son Labs la sortie de Flash 10 codename Astro en version prerelease (beta).

On note parmi les nouvelles fonctionnalités phares :

  • Arrivée de la 3D et donc de "this.rotationZ" (la team Silverlight a du boulot ;)
  • Gestion avancée du text (WPF & flowdocument like)
  • Des filtres et des effets à la Photoshop intitulés "Adobe Pixel Bender"... sauf que là on peut les appliquer directement sur des vidéos... "waouw effect" assuré !

Toutes les infos détaillés sur les nouveautés supportés par ce plugin sont directement accessible dans la release note disponible à cette adresse :

http://labs.adobe.com/technologies/flashplayer10/releasenotes.html

Comment l'installer ? Rien de plus simple :

Désinstaller le flash player (plugin/activx 9?) actuellement installé sur votre machine et lancer l'installation. A titre d'information, j'ai personnellement opté pour la solution VPC...

Pour les personnes ne voulant pas installer une versions beta voici une vidéo réalisée par Dion Almer récapitulant le "proof of concept" développé par les teams Adobe.

Pour les plus curieux, voici quelques vidéos supplémentaire à voir absolument réalisé cette fois ci par Adobe :

Pour ma part, je pense que la plus grosse feature apporter par cette version beta Astro est "Adobe Pixel Bender". On peut imaginer que ce genre de feature n'aurait jamais vu le jour si Adobe n'avait pas racheté Macromedia. On ressent ici toute la puissance des effets photoshop appliqué au monde de la RIA. Rappel, Bender permet d'appliquer des effets bitmaps de qualité à n'importe quel média.

En ce qui concerne Silverlight je ne pense pas que sont retard soit si évident que ça. Hormis Blender qui innove énormément dans le domaine des effets gx, nous avons déjà pu voir des essais plutôt positif d'implémentation de 3D par exemple... ici et . A ce propos je ne sais pas si le moteur 3D d'Astro permet une réelle gestion de 3D avec possibilité d'implémenter des formes et des textures ou si il s'agit seulement du support de plan 3D à la "Image3D" de WPF.

Quoiqu'il en soit voici donc une belle réponse d'Adobe face au plugin Silverlight 2 beta 1 présenté au Mix 08 de Las Vegas. La guerre des plugins continue / commence? et ce au plus grand bonheur des utilisateurs (et des développeurs ?)...

Evènement, 2008 MVP Global Summit

"MVP", "Global Summit", des termes à connotation Microsoft pas forcement compréhensible par tous au premier abord.

mvp

Qu'est-ce qu'un MVP ?

The MVP Award recognizes exceptional technical community leaders worldwide who actively share their real world expertise with others. As part of the award, MVPs receive a thank you gift, an MVP certificate, and a variety of resources to help them make the most of their experience as a Microsoft MVP.

En d'autres termes "Most Valuable Professional", il s'agit d'un progamme à l'initiative de Microsoft qui récompense les communautaires actifs sur le partage de leur expertise avec autruis. Il s'agit d'un programme à échelle mondial et touchant la plupart des produits/technologies Microsoft. Chaque prétendant peut accèder au programme pour la durée d'un an et peut-être renouvellé. Pour consulter les différentes catégories ainsi que les lauréats : https://mvp.support.microsoft.com/communities/mvp.aspx

Qu'est-ce que le MVP Global Summit ?

MVP Award recipients are invited to attend the MVP Global Summit, one of the largest multiday Microsoft MVP events. At the MVP Global Summit, MVPs receive access to exclusive technical content, participate in direct feedback sessions, and meet with Microsoft executives, product teams, and their peers from around the world. Microsoft executives and employees welcome MVPs to the Global Summit at Microsoft headquarters in Redmond, Washington and in Seattle. The MVP Global Summit features more than 400 technical sessions in which MVPs can connect with other MVPs, build relationships with Microsoft experts, and provide real-world insights and feedback to Microsoft product teams.

Cet évènement va de pair avec le titre MVP cité ci-dessus. Il permet aux MVPs de se retrouver en un lieu pour le moins mythique : le Campus de Microsoft (à Redmond dans l'état de Washington). Cet évènement est annuel et se déroule sur plusieurs jours. Il permet aux MVPs de participer à des sessions intéractives, rencontrer les chefs produits, mais aussi et surtout de partager ses propres expériences avec ses paires qui bien souvent retrouvent les mêmes problématiques quotidiennes de développement...

Vous l'aurez compris, un tel évènement permet essentiellement d'aborder les différentes roadmaps et d'avoir un rapport privilégié avec les équipes produits. Chose à laquelle j'ai eu la chance de participer cette année grâce a Wygwam, bureau d'étude depuis pas moins de 5 ans qui présente 6 MVPs. Malheureusement cet évènement est soumis à NDA ce qui signifie que je ne pourrais pas détailler les différentes sessions intéractives auxquelles j'ai assisté. Pour ma part, quoiqu'il en soit, il est très motivant et enrichissant de voir les équipes "Client App Dev" s'intéroger et nous intéroger sur le futur (proche ou éloigné) des technologies tel que Silverlight ou WPF.

XAML, Extensible Application Markup Language : La documentation

La documentation complète du language XAML est en ligne.

Pour rappel, XAML pour Extensible Application Markup Language est un language de type XML de description d'interface utilisé dans Silverlight et Windows Presentation Foundation les technologies RIA & RDA de Microsoft.

 xamlLogo

La documentation est accessible sur le site de Microsoft à l'adresse suivante : http://www.microsoft.com/downloads/details.aspx?FamilyId=3356AF19-A36E-4D6D-9D13-C37DB81EE607&displaylang=en

On y retrouve 2 PDFs conséquents et détaillés comme à l'accoutumé.

Silverlight 2 Beta 1, Présentation succinte et état des lieux

Silverlight 2 étant une technologie encore en phase de Beta, je viens tout juste de terminer une VPC avec la configuration suivante :

Voici un bref aperçu de la création d'un projet Silverlight 2 avec Expression Blend. A la création du projet nous retrouvons les fichiers classiques XAML, C# & co mais aussi un fichier de manifeste pour la configuration du projet ainsi que le fichier App.xaml qui rappel bien entendu WPF et la possibilité d'externaliser par exemple des dictionnaires de ressources.

a

Nous retrouvons aussi de nombreux contrôles tel que : TextBox, Button, HyperLinkButton, Slider, Calendar, DatePicker, ListBox, ScrollViewer, RadioButtion, CheckBox... mais aussi des contrôles de mise en page tel que le Grid (s'apparente au tableau HTML), les StackPanels pour empiler des contrôles à l'horizontale ou à la verticale, et l'indétronable Canvas pour le positionnement en absolu.

NB: On pourra remarquer que le comportement du contrôle TextBox reste à améliorer : des combinaisons de touche tel que Ctrl+A ne fonctionnent pas ainsi que lorsque la taille du texte dépasse la taille de la TextBox, le texte n'est pas repositionné correctement.

b

c

Au premier chargement de la page un préchargement du XAML est effectué et un loading (en%) apparait, aussitôt le fichier XAML interprété dans sa totalité celui-ci est affiché. Une fois en cache les contrôles restent très réactifs c'est donc une réussite en terme de performance.

En regardant la source de la page on peut voir aussi qu'il y a eu quelques changement, regardons de plus prêt :

<div id="silverlightControlHost">
  <object data="data:application/x-silverlight," type="application/x-silverlight-2-b1" width="100%" height="100%">
   <param name="source" value="SilverlightApplication3.xap"/>
   <param name="onerror" value="onSilverlightError" />
   <param name="background" value="white" />
   <a href="
http://go.microsoft.com/fwlink/?LinkID=108182" style="text-decoration: none;">
        <img src="
http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
   </a>
  </object>
  <iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
</div>

Plus d'insertion de balise object via JavaScript. Suite à l'arrangement trouvé dans le cadre l'affaire Eolas, la politique de gestion des ActiveX d'Internet Explorer fait un retour en arrière (validation des activx automatiquement) donc l'astuce du JavaScript n'est plus d'actualité. On peut aussi y voir apparaitre le fameux fichier XAP.

Cette nouvelle version de Silverlight 2 donne aussi la possibilité de se promener au travers du document via la touche TAB en donnant le focus aux divers contrôles. Ceci laisse sous entendre des notions d'accessibilités plus évoluées que la version 1.0

Stay tuned

Silverlight 2 & Mix 08, Ce qu'il faut retenir

Pour rappel, Mix 08 est ni plus ni moins que la grande messe annuelle des interfaces riches chez Microsoft. Voici les principales informations  liées à Silverlight 2 qu'il faut retenir suite au keynote animé par Ray Ozzie et Scott Guthrie

Les annonces concernant Silverlight 2 :

Les "nouveaux outils" accompagnant Silverlight 2 :

Pour télécharger Silverlight 2 c'est par ici http://silverlight.net/GetStarted/#betajump il s'agit d'une version Beta 1. En bonus, vous trouverez un jolie tableau comparatif des fonctionnalité de Silverlight 1.0 et Silverlight 2 à cette adresse et ci-dessous : http://silverlight.net/GetStarted/overview.aspx

Features Silverlight 1.0 Silverlight 2 Beta 1

  2D Vector Animation/Graphics

  AJAX Support

  Cross-Browser (Firefox, IE, Safari)

  Cross-Platform (Windows, Mac)

  Framework Languages
  (Visual Basic, Visual C#, IronRuby, Ironpython)

-

  HTML DOM Integration

  HTTP Networking

  Isolated Storage

-

  JavaScript Support

  JSON, REST, SOAP/WS-*, POX, and RSS Web Services (as well as support for Sockets)

-

  Cross Domain Network Access

-

  LINQ to Objects

-

  Canvas Layout Support

  StackPanel, Grid and Panel Layout Support

-

  Managed Control Framework

-

  Full suite of Controls (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox, and others)

-

  Deep Zoom Technology

-

  Managed HTML Bridge

-

  Managed Exception Handling

-

  Media – Content Protection

-

  Media – 720P High Definition (HD) Video

  Media – Audio/Video Support (VC-1, WMV,
  WMA, MP3)

  Media – Image Support  (JPG, PNG)

  Media Markers

  Rich Core Framework (e.g. Generics,  
  collections)

-

  Security Enforcement

-

  Silverlight ASP.NET Controls  
  (asp:media, asp:xaml)

  Type Safety Verification

-

  Windows Meda Server Support

  XAML Parser (based on WPF)

  XMLReader/Writer

-

On peut y voir des fonctionnalités très très interessantes qui n'ont pas encore forcement fait parler d'elles comme par exemple le support des Sockets ou l'Isolated Storage...

Pour conclure, le keynote a bien entendu été aggrémenté de nombreuses démonstrations des partenaires plus impressionantes les une que les autres.
Pour ma part je retiendrais tout particulièrement la démonstration de la société VERTIGO (Video.show souvenez-vous!) démontrant la puissance de "deepzoom" (une technologie seagdragon) ou en d'autres termes, comment se déplacer dans plusieurs images avec un total de 2 billions de pixel : http://memorabilia.hardrock.com/ et ce, de manière fluide.

 

Silverlight 2, Premier aperçu

Voilà approximativement 1 an que Silverlight 1.0 a été dévoilé et c'est aujourd'hui, vendredi 22 février, que Scott Guthrie dévoile en partie la version 2 de Silverlight via son blog : http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx

Celui-ci nous apprend que la version 2 de Silverlight comportera entre autre :

  • Des contrôles basiques (TextBox, CheckBox, RadioButton, Slider, Calendar, DatePicker, etc) ... ce n'est pas trop tôt me direz vous !
  • Des contrôles de layout pour la mise en page des interfaces (StackPanel, Grid, Panel, ScrollViewer) sur le même principe que le framework UI de WPF.
  • Des contrôles de d'affichage données (DataGrid, ListBox) semblables aux contrôles ASP.NET de Microsoft voir même aux contrôles de data de Flash
  • Du data-binding tel qu'on peut en trouver dans WPF
  • Des styles & template pour le bonheur des intégrateurs et des graphistes mais aussi pour la bande passante avec le poid des pages XAML
  • Easy support REST, WS*/SOAP, POX, RSS
  • Gestion du "Cross domain network"...

En d'autres termes, tout ce que tout bon développeur était en mesure d'attendre d'une technologie de RIA...
En bonus, Scott G. met à disposition 8 tutorials très interessant montrant l'avancée en terme de développement de la technologie Silverlight 2.

La version 2 va permettre à Silverlight de prendre une toute nouvelle envergure. Notoriété, concurrence, adoption chez les développeurs, Microsoft met visiblement tout en oeuvre pour que cette technologie soit LA technologie RIA du moment et ce, pour le plus grand plaisir des développeurs web. Au vue des dates et de l'avancée du développement de Silverlight 2, il y a fort à parier que le Mix 08 sera une date clé pour cette nouvelle version 2.

EDIT: Comme le souligne CLaueR dans les commentaires, il faut dire Silverlight 2 et non Silverlight 2.0.

Plus de Messages Page suivante »

Les 10 derniers blogs postés

- [ #Yammer ] From Mailbox to Yammer and back / De votre messagerie vers Yammer et retour ! par Le blog de Patrick [MVP SharePoint] le 09-15-2014, 11:31

- [ #Office 365 ] New service settings panel / Nouveau panneau de paramétrage des services par Le blog de Patrick [MVP SharePoint] le 09-11-2014, 08:50

- Problème de déploiement pour une démo SharePoint/TFS? par Blog de Jérémy Jeanson le 09-10-2014, 21:52

- [ #Office365 ] Delve first impressions / Premières impressions sur Delve par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 16:57

- [ #Office365 ] How to change Administration console language ? / Comment changer la langue de la console d’administration ? par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 08:25

- [ #SharePoint 2013 ] Suppression de bases de données en état “Pas de Réponse” par Le blog de Patrick [MVP SharePoint] le 09-04-2014, 14:10

- Changer l’adresse d’une ferme Office Web Apps associée à SharePoint par Blog de Jérémy Jeanson le 09-01-2014, 22:21

- Une ferme #SharePoint 2013 dans @Azure en quelques clics (1ère partie) ! par Le blog de Patrick [MVP SharePoint] le 08-28-2014, 18:52

- SharePoint 2013: Préparation de la migration - Création des site Templates dans 2010 et 2013 par Blog Technique de Romelard Fabrice le 08-20-2014, 16:31

- [ #Yammer ] How to change interface language ? Comment changer la langue de l’interface ? par Le blog de Patrick [MVP SharePoint] le 08-20-2014, 14:21