Le langage d'interface XAML

XAML est un langage d'interface utilisateur graphique universel pour les applications Web riches (RIA) et les logiciels de bureau. Il utilise un format XML facile à éditer et à réutiliser. Il complète C# pour les applications portables sous Windows et autres systèmes avec l'environnement .NET Core.

Actualité

MAUI pour .NET 6: un framework portable pour durer?

En concurrence avec Avalonia, Microsoft développe lui-même son framework portable: MAUI qui fonctionne sur Windows, macOS, Android, iOS (mais pas Linux). Et utilise XAML et C#.
C'est un logiciel open source ce qui devrait favoriser son adoption. Il remplace WinUI propre à Windows (et utilisé dans la version 3 pour les applications Windows 11), mais est construit sur la base de Xamarin.form, conçu pour fonctionner sur tous les systèmes.
Comme pour Avalonia, on crée une application portable avec Visual Studio.
Après l'abandon de UWP, l'obsolescence des autres solutions de développement par Microsoft, on a sans doute ici une autre solution d'avenir, conjointement avec Avalonia, pour programmer en C# et XAML.
Plus d'information: What is MAUI? (Anglais).
13 octobre 2021.


XAML sur le bureau : Avalonia supporte maintenant .NET Core

Avalonia est un framework d'interface utilisateur multiplateforme basé sur XAML pour le développement d'applications de bureau. Il fonctionne dorénavant sur la plupart des systèmes d'exploitation grâce à .NET Core: Windows, Linux, macOS. Avalonia est prêt pour le développement d'applications de bureau à usage général. C'est un projet en développement, il ne faut pas en attendre une stabilité parfaite (sur Mac et Linux surtout). Cependant ce framework est déjà utilisé par plus de 3000 projets que l'on peut trouver sur Github.
Exemple de fenêtre de configuration réalisée en XAML avec Avalonia:

Avalonia, exemple de fenêtre

Pour réaliser une application, il faut télécharger une extension à Visual Studio qui peut générer des applications portables.
Plus d'informations sur la communauté Avalonia. (Anglais).
13 octobre 2021.


.NET 6 RC 2 disponible pour 3 OS

Ce n'est pas encore une version définitive, si tant est que cela existe, mais suffisamment proche et prête pour le développement d'une application C# 10. Les applications écrites pour .NET 6 fonctionnent sous Windows, Mac et Linux et pour les processeurs X64 ou ARM.
12 octobre 2021.


.NET 6 en développement

Une version d'essai de .NET en version 6 est disponible en téléchargement pour Windows, Linux et Mac ainsi qu'Android et iOS, sur le site de Microsoft. Elle fonctionne avec Visual Studio 16, mais la version de production ne sera disponible qu'en novembre de cette année.
Les améliorations concernent principalement la vitesse d'exécution et la gestion des structures. L'annonce donne une liste complète des changements apportés.
9 avril 2021.


Le retour de Silverlight

Une version open source de Silverlight vient de voir le jour sous le nom d'OpenSilver. Le runtime a été entièrement réécrit sous WebAssembly, ce qui le rend indépendant de tout système et peut fonctionner sur tout navigateur comme Angular, React ou autre framework HTML 5.

OpenSilver nous apporte la puissance de C#, XAML et .NET dans le développement coté client. La vision de rescusciter la gloire de Silverlight est envisageable. Son histoire ne s'arrête pas, elle s'écrit toujours.

23 janvier 2021.


WinUI 3 en cours

Microsoft a publié la feuille de route de WinUI 3 en 2019 et 2020. Mais lors du premier trimestre 2020, c'est seulement WinUI 2 qui est disponible.
Intégré à .NET Core et programmable dans Visual Studio 2019, WinUI fournit les modules d'interface pour réaliser une application pour le bureau, avec XAML comme langage d'interface.
Visual Studio 2019 comporte également XAML Designer et XAML Editor pour faciliter la conception des applications.
2 janvier 2020.


WPF devient open source

Microsoft a annoncé le 4 décembre 2018 l'extension de son programme open source pour .NET Core, la version portable et ouverte de son environnement logiciel.
.NET Core 3.0 permet maintenant de construire une application sur la base de WPF, Windows Forms et la bibliothèque graphique WinUI basée sur XAML. Et tous ces outils de développement sont maintenant open source, mais pas pour un portage sur Linux même si ce dernier peut fonctionner à l'intérieur de Windows.
Sachant qui WinUI sert essentiellement à fournir les éléments d'interface pour la plateforme UWP dont personne ne veut (pourquoi donner une part de ses revenus à Microsoft au lieu de construire une PWA?), cette partie de l'annonce à un intérêt limité.
L'autre partie concerne WPF et WinForms dont le code est maintenant disponible sur GitHub. Ce framework fonctionne uniquement pour des applications Windows. Et l'annonce précise bien:

Nous n'avons pas l'intention d'accepter les contributions qui fournissent une implémentation inter plateformes pour Windows Forms et WPF.

Donc Microsoft veut juste que les développeurs travaillent gratuitement pour améliorer son système d'exploitation payant. Cependant il existe aussi une version portable, Xamarin Forms et celle-ci profitera sans doute de l'ouverture du code de WPF et WinForms. Le projet Avalonia également propose une version de WPF pour Linux et tout système. Les développeurs d'Avalonia saluent l'annonce de Microsoft qui leur donne accès notamment à System.Xaml et aux contrôles de WPF.

Documents

Description de XAML
Pourquoi utiliser ce langage?

Les formats XAML
Les différents domaines d'applications (Vista, Web, documentation) donnent lieu à des formats différents, autant de sous-ensemble de XAML.

Les éléments du langage
La liste des éléments. Au format déclaratif, on peut ajouter du code et des évènements.

Exemples
Petits programmes en XAML.

Les outils de XAML.

Le tutoriel XAML
Apprendre XAML pour réaliser des applications locales sous le framework .NET. Le tutoriel fonctionne avec Expression Blend et Visual Studio Express. Le tutoriel décrit en détail la syntaxe du langage.

.NET
L'interface aux ressources de Windows pour le programmeur.

WPF
Description de l'environnement graphique de Windows classique.

Qu'est-ce que XPS?
Précisions sur cette alternative au format PDF.

Silverlight
C'est un plugin pour les navigateurs permettant de créer des interfaces graphiques très élaborées, ou présenter des vidéos. Alternative à Flash et HTML 5.

Windows et Modern UI (Metro)
Une interface classique à coté d'une expérience totalement innovatrice.

Archives