Quel avenir pour XAML?
Il semble que XAML ait un avenir, malgré ce que les annonces de 2011 ont laissé craindre..
La présentation de Windows 8 avait montré l'importance accrue donnée à HTML 5 et JavaScript. En outre les navigaeurs supportent tous le format SVG qui offre des possibilités équivalentes à XAML pour une application en ligne.
Microsoft semble vouloir s'appuyer de plus en plus sur les nouveaux standard du Web pour l'interface des nouvelles applications, aussi les programmeurs s'interrogent sur l'intérêt de développer en XAML.
Inquiétude des développeurs
Les développeurs qui ont investi dans la plateforme Silverlight sont inquiets et deux fils de discussion sur les forums spécialisés reflêtent leur inquiétude quand au support futur de Silverlight et .NET.
Il faut cependant se rappeler que .NET est une alternative à Java cette technologies n'est pas en voie de disparition, et il est improbable que Microsoft lui abandonne le terrain. Mais Silverlight était une réponse de Microsoft à Flash et ce format tend à disparaître sur les mobiles au profit de HTML 5, alors pourquoi persevérer avec Silverlight?
Malgré la part nouvelle attribuée aux formats standard du Web, nous avons des raisons de penser que XAML restera une technologie centrale, au moins sur les systèmes de Windows qui sont forment la plus grande part du marché des ordinateurs au sens le plus général.
Windows 8 devait supporter plusieurs types d'applications à coté des applications classiques locales. Des applications fonctionnant dans une sandbox en JavaScript, mais aussi des applications comme celles des mobiles, connectées au sytème et aux périphériques.
Cela s'est concrétisé avec Electron qui utilise le moteur de rendu Chromium pour l'interface et de nombreux autres framework utilisant le moteur de rendu d'Edge ou Chrome pour réaliser des applications JavaScript.
XAML a un avenir sur les smartphones
La plateforme Silverlight et XAML offrait des possibilités qui ne sont pas accessibles à HTML 5 et SVG (cela pourrait évoluer).
- Le support de langages de programmation multiples.
- L'accès au système de fichiers local et aux appareils périphériques.
Apple dispose d'un framework dédié aux applications pour iOs, et Google fournit pour les applications natives sur Android la machine virtuelle et le framework Harmony d'Apache en Java.
Microsoft dispose de .NET, alternative à Java (ou a Dalvik) et de XAML pour définir les interfaces utilisateur.
Sur le bureau, l'intérêt de Silverlight est moins évident, à moins que l'on ne veuille créer des applications fonctionnant sur tous type d'appareils, smartphone, tablettes, PC, ce que semble en fait très intéressant.
Avec WebAssembly, la programmation en langages différents est maintenant possible pour le Web.
Une nouvelle plateforme de développement
Elle a été évoquée depuis un moment déjà sans plus de précisions. On savait seulement qu'elle était destinée à Windows 8.
Jupiter n'est qu'un nom de code pour une plateforme de développement constituée d'une interface définie en XAML et reliée au système local.
Elle permettra un affichage plus fluide et plus dynamique pour réaliser ce que Microsoft appelle des applications immersives, autrement dit qui cachent l'interface utilisateur et suppriment les barrières entre le réel et le virtuel.
Ces nouvelles applications qui seront proposées sur l'App Store de Microsoft fonctionneront sur tous les types d'appareils, du mobile à l'ordinateur de bureau.
Donc si Microsoft semble passer à HTML 5, c'est seulement pour un type d'applications, les applications en ligne - fonctionnant éventuellement hors ligne- ou les applications fonctionnant dans une sandbox comme les jeux qui tournent dans Canvas. Les application de l'interface Metro.
Et un troisième type d'applications fonctionnera toujours sur Windows 8: les logiciels traditionnels pour lesquels la compatibilité sera préservée.
Le fait que Microsoft refuse d'adopter WebGL pour les 3D dans le navigateur, qui est offerte par Silverlight 5, conforte l'idée que ce dernier reste supporté par le firme. A moins que Jupiter, la nouvelle plateforme pour XAML n'offre cette fonctionnalité.
Dans MAUI les applications immersives utilisent XAML
Les choses se sont précisées après les informations données par Microsoft sur Modern UI (ex-Metro), la nouvelle interface immersive de Windows 8 devenue MAUI dans les OS ultérieurs.
XAML reste une des bases pour la conception d'applications avec .NET. Donc les concepteurs utilisant XAML pour Silverlight n'ont rien à craindre, l'essentiel de ce qu'ils ont appris restera utile.