Des applications immersives avec XUL?

XAML devient sous Metro le langage d'interface utilisateurs, dans Windows 8. Cela à coté de HTML 5 qui utilise les standards du Web CSS et JavaScript.

En fait XAML est un langage beaucoup plus développé que HTML, car proposant quantité de balises pour représenter les composants graphiques d'une interface. En outre il s'utilise avec tout langage de programmation et non plus seulement avec un unique langage de script.
Dans les deux cas, sous Metro, le but est le même, créer des applications immersives. Ce sont des applications ou les éléments de l'interface sont invisibles, rien ne doit distraire l'utilisateur de ce qui l'objet de l'application. Si l'application est un magazine en ligne, par exemple, l'utilisateur ne voit que les pages, ce qui suppose une interface tactile pour les tourner, ou quelque chose d'équivalent avec la souris.

Avec l'interface Metro, Microsoft va partir de zéro: toutes les applications restent à créer ou converties à partir d'applications classiques existante. On n'utilisera pas Metro comme on utilise Windows, parce les logiciels que l'on possède fonctionnent sur ce environnement (ce qui n'est pas le cas de quantité de logiciels open source comme LibreOffice).

Ce retour à zéro laisse la place à des alternatives possibles, non Microsoft. Il en existe déjà une, Plasma Active, une version de KDE pour les applications immersives basés sur le framework Qt. Plasma Active fonctionnera sur tous les systèmes Linux à coté du GUI classique (comme Metro coexiste avec le Desktop classique), et des démonstrations sont données sur les appareils mobiles.

Plasma active

Plasma active

Peut-on imaginer également XUL comme alternative à XAML, pour une interface telle que Metro et des applications immersives?

Cela suppose un RAD, un bon système de développement. Eclipse peut jouer ce rôle, puisqu'il sert déjà au développement d'applications pour Android et d'applications XUL classiques.

Parallèlement à Metro, Microsoft développe sous le nom de code Jupiter un modèle d'applications nouveau. Selon ce modèle, une application est une interface XAML avec en backend une API donnant un accès direct aux fonctions du système. C'est l'opposé des applications HTML 5 qui sont portables d'une part et ont un accès très limité au système. C'est aussi un moyen de faire des applications très développées et très rapides pour PC ou mobiles.

La philosophie de XUL va à l'encontre de cela: il est essentiellement portable et non dédié à Windows, donc le backend ne peut accéder directement au système. L'accès au code natif se fait à travers XPCom qui est tout sauf intuitif.
En fait toutes les caractéristiques que XUL devrait offrir pour les applications immersives se trouvent dans Plasma Active.
Mais le navigateur pour mobiles de Mozilla, donc à écran tactile, et basé sur XUL montre que ce langage peut aussi bien que XAML s'adapter aux applications immersives. Cependant XULRunner, le runtime, n'est pas WinRT et n'offre pas la même facilité d'accès aux ressources de l'ordinateur.

En conclusion il manque à XUL le backend dont dispose XAML, une plateforme donnant accès directement au système, qu'il soit sur PC ou mobile pour des applications réactives modernes.

© 2011-2012 Xul.fr