- Extensible Application markup language
-
XAML
XAML est un langage déclaratif développé pour les besoins du nouveau système d'exploitation de Microsoft, Windows Vista. Prononcé Zammel, ces initiales correspondent à eXtensible Application Markup Language.
Ce langage créé initialement pour la déclaration d'interface riches dans WinFX (devenu depuis Net 3.0 / WPF) a été intégré ensuite dans les développements connexes de Microsoft à savoir WCF et WF qui sont aussi utilisables avec ce langage. C'est maintenant un abus de considérer XAML comme un langage lié a la fabrication d'interface, il est devenu un langage dérivé du XML permettant l'instanciation à l'exécution d'objets issus des plateformes .Net 3.0 et suivantes.
Basé sur le langage XML, il facilite le travail du développeur et permet d'écrire une application client Windows aussi aisément qu'une application web. L'idée est en effet de séparer la déclaration des objets d'un programme du code sous-jacent comme cela est déjà le cas dans les applications Web de type ASP.NET.
Dans le cas de XAML pour WPF, le développement de l'interface utilisateur étant confié à des designers, Microsoft propose à ceux-ci le logiciel Expression Interactive Designer pour manipuler cette interface. XAML inclut également des fonctionnalités pour manipuler des objets en trois dimensions, de manière analogue à X3D.
XUL et UIML sont d'autres exemples de langages de description d'interfaces graphiques basés sur le XML.
Sommaire
Transaction Authority
XAML est également une spécification de développement pour des services web qui tire son nom du protocole XA (Transaction Authority) qui a donné Transaction Authority Markup Language.
Les spécifications XAML permettent en effet à une transaction web de gérer l'intégrité transactionnelle (ce qui faisait défaut jusqu'ici aux développements B2B). Avec XAML il devient possible de gérer le two-phase commit qui permet la mise à jour contrôlée de plusieurs bases de données réparties (par exemple entre plusieurs partenaires).
La transaction XAML « attend » de recevoir l'acquittement (le commit) des différents serveurs sollicités et en cas de problème avec l'un d'eux, est en mesure de demander aux autres serveurs de « défaire » les mises à jour partielles effectuées afin de maintenir l'intégrité des données.
Exemple
Voici un exemple de code d'une petite application Windows qui affiche « Hello World! » :
<Canvas ID="root" xmlns="http://schemas.microsoft.com/2003/xaml" xmlns:def="Definition"> <Text>Hello World!</Text> </Canvas>
Comme dans le développement Web, du code permettant de gérer des évènements (clic, double-clic, entrée de texte, etc.) peut être inséré :
- soit directement dans la page à l'aide d'un tag spécial def:Code,
- soit dans un fichier séparé écrit dans un langage supporté par l'environnement.
Le code peut être écrit en C# ou Visual Basic .NET. Une des caractéristiques les plus appréciées du développement en XAML, présente en fait depuis l'arrivée de .NET, est justement de pouvoir séparer cette partie visible par l'utilisateur (environnement graphique) du code en lui-même. Le fichier séparé est alors appelé code-behind file.
Voir aussi
Liens externes
- Xaml.fr Le site français de XAML.
- (en) MSDN : XAML Overview
- (en) ondotnet.com : Inside XAML
- Portail de la programmation informatique
Catégories : Dialecte XML | Interface utilisateur | .NET Framework
Wikimedia Foundation. 2010.