Technologies Microsoft basées sur l’utilisation du XAML

image_pdfimage_print

Définition :

Le XAML (pour eXtensible Application Markup Language), language très proche du XML, permet de sérialiser des objets de manière hiérarchisée. Les possibilités sont nombreuses, Microsoft ayant décidé par exemple de baser la définition de ses workflows (produits par l’utilisation de la couche WorkFlow Fundation du Framework .Net) sur ce language. Il est majoritairement utilisé pour la création d’interfaces graphiques (UI) en imbriquant les composants, les uns dans les autres de manière déclarative.

Par exemple:


<Window x:Class="WpfSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="WPF Sample" Height="350" Width="525">
    <Grid>
        <Button HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Margin="15">
            <MediaElement Source="WPF Sample.wmv" Margin="15" />
        </Button>
    </Grid>
</Window>

Historique:

Depuis la diffusion de la version 3.0 du Framework .Net, l’emploi du XAML (majoritairement exploité dans la couche “Windows Presentation Foundation” du Framework, plus communément nommée “WPF”) a révolutionné le développement applicatif, en instaurant une vision nouvelle, autant au niveau graphique que fonctionnel.

Architecture du Framework .Net

L’arrivée de Windows 8 combinée avec les nouveautés au sein du Framework .Net, a bousculé la façon de concevoir et de développer des applications en y instaurant une règle importante pour fournir à l’utilisateur des interfaces graphiques réactives et fluides. Pour cela il est imposé au développeur d’utiliser des appels dit “Asynchrones” dès qu’un traitement est supposé durer plus de 50 ms.

Microsoft a également étendu le développement applicatif basé sur du XAML au C++ de manière native (C++/CX). L’utilisation du C++ garantit des performances accrues particulièrement appréciées dans le développement d’applications nécessitant une grande capacité de calcul, telles que : la simulation ou le jeux vidéo…

Info Microsoft présente les lignes directrices à suivre pour le développement d’un tel projet par l’utilisation d’une librairie nommée Hilo C++.

Ce qui a permis l’apparition d’interfaces de type “Modern UI” qui suivent étroitement ce modèle de développement.

Modern UI


Présentation technique :

La maturité de cette technologie à conduit à l’élargissement des supports utilisant le XAML. Par exemple : l’apparition des Windows Phone (WP 7 & 8) mettant un terme à la lignée des systèmes Windows Mobile, aux interfaces vieillissantes.

Plusieurs implémentations du XAML ont été réalisées par Microsoft pour permette le développement d’interfaces portables entre différents supports (chacune ayant ses spécificités), à savoir :

  • WPF, présente dans le Framework .Net depuis sa version 3.0
  • Silverlight *
  • Windows 8

Attention Il est cependant important de noter que la version du XAML implémentée dans la version 3.0 de Silverlight n’est pas forcément compatible avec sa version supérieure. Certains fichiers XAML peuvent ne pas être acceptés ou “parsé” de manière différente.

Technologies
utilisant le XAML
Windows Presentation Foundation LogoWPF SilverlightSilverlight Windows 8Windows 8 Windows Phone 8 LogoWindows Phone

L’emploi de cette technologie favorise la séparation du code métier et de l’interface graphique. De ce fait, des “Design Patterns” adaptés à ce modèle de développement ont été privilégiés. Parmi ces derniers, le MVP (Model-View-Presenter) et le MVVM (Model-View-ViewModel) sortent nettement du lot, par l’emploi de multiples Framework (Prism, nRoute, …) visant à diminuer le couplage entre les différentes couches logicielles.

Model View Presenter

Model View Presenter

Model View ViewModel

Model View ViewModel

L’utilisation de ces modèles de développement permet donc de confier à des designers la partie visuelle de l’application en vue d’y intégrer des améliorations (sans en impacter le développement fonctionnel). Dans la réalité des faits, il est bon de savoir que c’est rarement le cas (les outils mis à disposition des développeurs permettant une prise en main rapide de l’édition des interfaces graphiques).

Les outils

Pour éditer les interfaces décrites en XAML, Microsoft intègre à certains de ses outils un éditeur de type WYSIWYG :

  • Microsoft Expression Blend
  • Microsoft Visual Studio Visual Studio 2012 Express Edition

Il est néanmoins possible, du fait que le XAML est un format “texte”, d’éditer ces fichiers grâce à un éditeur classique tel que le “bloc note” ou encore des éditeurs spécialisés tels que XamlPad ou bien Kaxaml

Les références

  1. http://fr.wikipedia.org/wiki/XAML
  2. http://en.wikipedia.org/wiki/Windows_Runtime
  3. http://en.wikipedia.org/wiki/Windows_Runtime_XAML_Framework
  4. http://en.wikipedia.org/wiki/Extensible_Application_Markup_Language
  5. http://msdn.microsoft.com/en-us/library/vstudio/ms742398(v=vs.90).aspx
  6. http://kaxaml.com
  7. http://hilo.codeplex.com

Leave a Reply

Your email address will not be published. Required fields are marked *