Développement web indépendant à Montpellier

Publié le lundi 13 avril 2009 15:59:01

Microsoft Silverlight : premiers pas

Il m'a fallu tout d'abord récupérer la suite en évaluation si vous ne la possédez pas déjà, elle est fournie gratuitement par Microsoft® pour une durée raisonnable, et sans restriction, ce qui est appréciable. Vous devez donc d'abord télécharger Microsoft® Expression® Studio 2 sur site de Microsoft, et disposer de Visual Studio 2008 SP1, et de son plugin Silverlight, pour commencer à développer.

Si vous ne disposez d'aucun de ces outils, les versions d'évaluation que nous avons utilisés sont disponibles à ces adresses :

Un fois tout ceci téléchargé et installé, nous pouvons commencer à travailler sur Silverlight, le but de cet article est de faire un .

Création du premier projet Silverlight

Un fois tout installé, nous créons notre premier projet Silverlight dans Visual Studio. J'ai eu une petite appréhension au début en voyant l'import de DLL (librairies externes), mais le tutoriel de Microsoft essaie de nous rassurer en précisant qu'il est possible d'héberger ses applications Silverlight sous Linux...

Le "hello world" de Microsoft Silverlight avec Visual Studio

Nous avons suivi le tutoriel de Microsoft : Silverlight Tutorial Part 1: Creating "Hello World" with Silverlight 2 and VS 2008 [en].

Ce hello world consiste à créer un bouton avec l'intitulé "Clic moi !" puis de changer son intitulé une fois cliqué.

Pour ceux qui ont déjà réalisé des projets en C# (CSharp) et ASP.net, cela semble être la même logique : avec pour chaque fichier XAML (eXtensible Application Markup Language - prononcez Zamel), le code behind associé. Les fichiers XAML sont des fichiers qui représentent l'interface utilisateur, et également les objets .NET qui composeront l'application Silverlight. Voici par défaut le fichier Page.xaml :

<UserControl x:Class="SilverlightApplication1.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <Grid x:Name="LayoutRoot" Background="White">

    </Grid>
</UserControl>

Le fichier Page.xaml est le fichier de base (ce que index.html serait au web). Lorsque l'on compile le projet, on obtient un fichier .XAP (prononcez "zap"), la compression ZIP est utilisée pour minimiser le temps de téléchargement du client.

Le code behind

Le code behind est dans le fichier Page.xaml.cs, c'est ce code qui va controler l'application, voici le code crée par défaut par Visual Studio :

namespace SilverlightApplication
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
        }
    }
}


Création du bouton Silverlight

Nous allons créer le bouton directement dans Visual Studio : ajoutez à l'intérieur de la balise Grid le code suivant :

<Button x:Name="monBouton" Width="100" Height="40" Content="Clic moi !"  />

C'est très proche d'ASP.net au niveau du nomage. Nous allons maintenant attacher l'événement, ajoutez l'attibut Click à cette balise et l'auto-complétion proposera un nom de méthode automatiquement, nous obtiendrons ceci :

<Button x:Name="monBouton" Width="100" Height="40" Content="Clic moi !" Click="monBouton_Click" />

Création de l'événement

L'ajout de l'attribut Click à la balise Button aura contribué à créer la méthode monBouton_Click du coté du code Behind Page.xaml.cs, nous ajoutons le changement d'intitulé dans le corps de la méthode :

private void monBouton_Click(object sender, RoutedEventArgs e)
{
    this.monBouton.Content = "Merci pour le clic";
}

Voilà pour le premier pas, vous pouvez maintenant compiler l'application pour obtenir le résultat.

Intégration de l'animation Silverlight (.xap) dans la page

On l'intègre de la même manière qu'un objet multimédia Flash ou JavaFx : voir la première partie de l'article sur l'intégration des animations flash sans swfobject.

<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="150" height="60">
    <param name="source" value="SilverlightApplication2.xap"/>
    <param name="background" value="white" />
    <param name="minRuntimeVersion" value="2.0.31005.0" />
    <param name="autoUpgrade" value="true" />
   <!--début alternative-->
    <a href="http://go.microsoft.com/fwlink/?LinkID=124807">
        <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Téléchargez Microsoft Silverlight" style="border-style: none"/>
    </a>
    <!--fin alternative-->
</object>

Notez la présence de la version minimum du runtime à avoir pour afficher l'animation (minRuntimeVersion), et le autoUpgrade, on se demande comment Microsoft va déployer Silverlight sur les postes clients, mais espérons que le déploiement se fasse sans douleur, et que les applications resteront compatible.

Le choix du lecteur Flash minimum à la compilation d'un projet et la prise en compte des versions antérieures sont des atouts indiscutables de Adobe® : chose qui n'est pas présente à ce chez Silverlight lorsqu'lon compile (peut-être ne l'ai-je pas noté).

Téléchargement

Vous pouvez télécharger le projet tel que nous l'avons réalisé :

Ce fichier contient :

  • l'intégralité du projet Silverlight (le .sln, le .csjproj)
  • les sources C#,
  • les sources XAML,
  • les fichiers compilés (.xap).

Conclusion :

Silverlight offre quelques aspects positifs :

  • le développement en C#, qui est un langage facile d'accès et dont la plupart des développeurs ont l'habitude (Java-like),
  • sa ressemblance de logique avec ASP.net en fait un atout pour les développeurs qui sont plus orienté applicatif,

Je suis plutôt enthousiaste à l'idée d'aller plus loin dans la découverte de Silverlight, à mon avis, l'un des facteurs clés du succès de la plate-forme sera sa capacité à plaire aux graphistes (Microsoft Expression) : on ne fera que très peu de sans ces derniers...

Il est un peu trop tôt pour faire un benchmark (comparaison) des technologies (Flash, JavaFX, Silverlight), Ce qu'on peut dire pour le moment :

  • Peu de déploiement (moins de 25% des internautes équipés selon Riastats [en])
  • une communauté assez faible.

Gageons que Microsoft® saura déployer son plugin, grâce à son produit phare Microsoft® Windows, et que la communauté se construira autour de la technologie Silverlight. Il est sans doute encore un peu tôt pour imaginer mettre en production des site internet avec objets Silverlight, mais c'est imminent.

Notez cet article !

  • Actuellement 0 sur 5 étoiles
  • 1
  • 2
  • 3
  • 4
  • 5

Note : 0/5 (0 notes attribuées)

Merci d'avoir participé !

Vous avez déjà noté cette page, vous ne pouvez la noter qu'une fois !

Votre note a été changée, merci de votre participation !

Bonne résolution ! j'arrête d'alourdir mes pages avec des boutons de partage, mais vous pouvez continuer de partager :-)

Commentaires

  1. furukoo | Silverlight VS Flash |

    L'interêt de Silverlight :
    - les outils de developpement sont gratuit.
    Voir Visual Web Developpement Express Edition

    Il accepte 3 languages :
    - Visual Basic
    - C#
    - JavaScript

    (voir un exemple d'application ici : -> www.furukoo.fr)

  2. Dubitatif | Pourquoi Silverlight ? |

    Je ne vois pas trop l'intérêt de Silverlight par rapport à Flash qui est déjà très bien...