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é

.NET 8 en preview

.NET 7 avait été distribué en novembre 2022 et la version 8 finale le sera en novembre 2023, mais une version d'essai est déjà disponible. Il faut disposer de Visual Studio developpers 17.6 en version preview également pour l'utiliser.
Téléchargement. La preview est disponible pour Windows, Linux, macOS.
Elle comprend Blazor Server pour générer du HTML sur le serveur et Blazor WebAssembly qui fait fonctionner .NET dans le navigateur. Un nouvel outil, Webcil, permet de contrer les anti-virus qui prennent les assemblies à tort pour des malwares.
27 février 2023.


Linux sous Windows pour tous

Le sous-système Linux, WSL, fait maintenant partie de Windows par défaut et cela inclut systemd et le support des applications graphiques. Cela pour Windows 10 et Windows 11.
Pour les versions de Windows déjà installées, l'utilisateur obtient Linux dans la Windows Store, ou avec la commande "wsl --install".
25 novembre 2022.


.NET 6 disponible sur Linux

Pour installer .NET sur certaines versions de Linux, il suffit dorénavant de taper en ligne de commande:
apt install dotnet6
ASP.Net fournit également un outil de développement pour le web, qui est une alternative à Ruby On Rail, Node, etc...
Il faut noter que .NET avec la version 6 est la nouvelle dénonimation de .NET Core, la version portable de .NET, et la version purement Windows est maintenant .NET Framework.
16 août 2022.


Microsoft passe aux processeurs ARM

Une version native ARM de Visual Studio, Visual C++, Modern .Net 6, .Net classic et autres outils vont bientôt être fournis. Cela étend l'utilisation des outils de développement de la firme à Linux, Android ou toute autre plateforme.
Source (Anglais).
Microsoft prépare aussi un mini-PC comme le NUC d'Intel sur processeur ARM, le Volterra, mais utilisable comme outil de développement seulement.
27 mai 2022.


WinUI partout...

WinUI est l'interface graphique moderne des applications Windows. Elle se veut open source, mais cela reste encore à concrétiser. Cependant les développeurs indépendants veulent pouvoir l'utiliser sur tous les systèmes. C'est pourquoi ils ont créé Uno. Avec Uno, la même application basée sur WinUI peut fonctionner sous Windows, Linux, macOS, Android, et sur le Web avec WebAssembly.
Le code de l'application est écrit en CSharp et porté avec Xamarin ou convertit en wasm.
WinUI pour WPF est une autre initiative à l'endroit plus spécialement de programmeurs ayant l'expérience de cette plateforme pour les applications sur poste local. Il fonctionne sous .NET 6. Cela s'adresse plutôt aux nostalgiques.
3 décembre 2021.


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