TUTORIEL TECHNOS .NET 
Présentation de XAML
Première approche, théorique et pratique, de la technologie de création d'interface du futur système d'exploitation Longhorn. (10/06/2005)
XAML est l'une des nouvelles technologies annoncées dans Longhorn, la future version de Windows. Prononcé "Zamel" (plutôt que "Gzamel"), cet acronyme se traduit par "eXtensible Application Markup Language", littéralement "langage à balise d'applications extensibles". Il s'agit d'un langage XML permettant de définir des interfaces d'applications, conçu pour Avalon, le moteur graphique de Longhorn.

Théorie
L'intérêt de ce langage : fonctionner directement dans IE ( version Longhorn), mais également être compilé en une application Windows à part entière. Si cela implique que la syntaxe soit très attachée au système Windows lui-même (XAML lui-même n'est pas multiplate-forme), la création d'applications complètes est mise à la portée du plus grand nombre.

Cette compilation ne se fait pas sans codage classique. XAML est très fortement inspiré des langages XUL, dont le XUL de Mozilla. La puissance de XUL réside dans la séparation des couches : la structure avec XML, la présentation avec CSS, le code dans JavaScript et le DOM pour lier les deux. XAML reprend ce principe et le rapproche de celui de ASP.NET et son "code behind" : la syntaxe XML de XAML permet de décrire l'apparence de l'application, tandis que les évènements sont gérés par un langage .NET classique.

Les implications sont larges : par ce système, Microsoft renforce la puissance de .NET sur sa plateforme, mais le plus important est sans doute la possibilité de faire fonctionner les applications XAML (non compilées) sous IE, et par conséquent sur le Web.

La promesse de XAML est d'offrir aux développeurs Web la possibilité de développer des applications ayant le look-and-feel Windows, mais accessibles sur Internet. Cela ouvre la porte à des applications en ASP beaucoup plus puissantes et adaptées aux habitudes de l'utilisateur. En revanche, cela ferme la porte à toute l'ouverture d'esprit des standards du W3C : XAML n'étant conçu pour fonctionner que sous IE, à l'aide du moteur Avalon, ces futures applications Web enfermeront l'utilisateur sur la plate-forme et le navigateur de Microsoft.

En pratique
XAML est basé sur des fichiers textes, compilés par la suite pour Longhorn. De fait, potentiellement, il est possible d'écrire et modifier les applications XAML à l'aide seulement d'un éditeur de texte classique. Dans la réalité, tout comme il est compliqué d'écrire du VRML à la main, des outils comme Visual Studio prendront en charge la production de code XAML.

La syntaxe elle-même est du pur XML. Voici comment faire un bouton :

<Button Background="LightSeaGreen" FontSize="24pt" Content="Valider" />

En l'absence de support CSS, la présentation est, dans XAML, très proche de la structure : on se retrouve ainsi avec une syntaxe similaire à ce que l'on pouvait voir en HTML avant l'apogée de CSS et la chute des balises de présentation. Le code peut ainsi facilement devenir cryptique :

<Button>
  <Button.Background>
    <LinearGradientBrush>
      <LinearGradientBrush.GradientStops>
        <GradientStopCollection>
          <GradientStop Color="Red" Offset="0" />
          <GradientStop Color="Magenta" Offset="0.25"/>
          <GradientStop Color="Blue" Offset="0.5"/>
          <GradientStop Color="White" Offset="1"/>
        </GradientStopCollection>
      </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
  </Button.Background>
  Valider
</Button>


  Forum

Réagissez dans les forums de JDN Développeurs

Notez que tant que Longhorn n'est pas disponible, une bonne partie de ce que l'on connaît de Longhorn peut n'être que spéculations basées sur ce que propose Microsoft au sein des diverses béta des composants du futur système d'exploitation. L'heure est simplement à l'approche d'une technologie qui promet de rendre plus accessible et ouvert le développement Windows, et offre de pousser de plusieurs crans les capacités des applications Web.
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages