Un petit exemple en XAML
Par Laurentj le mardi, octobre 28 2003, 08:47 - Technologies Web - Lien permanent
On a droit à un petit exemple de code XAML sur msdn (source : mailing list de XUL-Annonce).
Pour dessiner un bouton dans l'interface graphique, voici comment ça se passe :
<Button Background="LightSeaGreen" FontSize="24pt"> Calculate </Button>
Par contre en XUL, on ferait :
<button label="Calculate" style="background:lightSeaGreen; font-size: 24pt" />
ou encore
<button label="Calculate" id="monbouton" />
et dans une feuille de style CSS, comme en HTML :
#monbouton { background:lightSeaGreen; font-size: 24pt }
Je préfére la version XUL : XUL permet de séparer la structure et le design . Et cela a déjà été démontré maintes fois : cela facilite la maintenance et les evolutions. Si un jour, pour une nouvelle version de l'application, on décide de changer le look, eh bien avec XAML, on se retrouve à devoir modifier tous les fichiers XAML alors qu'avec XUL, juste une feuille CSS.
Bref, le moteur XAML semble encore loin de la souplesse du moteur XPFE de Mozilla (et de celui de Safari ;-). Son seul avantage : c'est peut être plus simple à apprendre pour un newbie... Avant que celui-ci s'aperçoive un jour, quand il aura suffisement d'experience, tout les limitations que XAML apporte (Un peu comme ce qui se passe avec Visual Basic, et surtout VBscript : des langages facile à apprendre, mais qui nous limitent assez vite avec l'experience).
PS: oui bon, je vais peut-être un peu vite en conclusion à propos de XAML, car ne me basant que sur un exemple.. Bon, par contre, vu les exemples dans l'article cité ci-dessus, on sait au moins une chose : XUL et XAML seront bien incompatibles.
Mise à jour : quelques liens supplémentaires sur XAML
* "Longhorn" Markup Language (code-named "XAML") overview * User Interface Tree Portal * Application Object Model Portal
Commentaires
Ben moi je prefere largement le XAML : comme dit, c'est bien plus rapide, et pour ce qui est de la maintance, je vois pas en quoi ce serait plus rapide de modifier le XUL que la XAML... De la mauvaise foi quoi... C'est parce que ca vient de MS.
Sinon, va falloir vous y faire, le XAML ce sera dans le prochain Windows...
KR : tu ne vois vraiment pas ?
Ok un exemple. Imaginons que dans tout les écrans de ton appli tu ais mis tous tes boutons en vert. Et puis un jour pour une nouvelle version, tu veux changer le look et les mettre tous en bleu.
Si je ne me trompe pas, en XAML, faut que tu te tapes tous tes fichiers XAML pour changer tous les attributs de couleur sur tes boutons. Cela va te prendre un certain temps (20min ? 1h ? 2h?)
En XUL, tu a juste une ligne à modifier dans un fichier CSS.. (10 secondes)
Et là je n'ai pris qu'un exemple simple...
Exemple plus concret : L'interface de navigateur Mozilla étant tout en XUL/CSS, faire un thème pour mozilla (changer son look quoi) est aussi simple puisqu'il s'agit de simplement modifier un fichier CSS (et refaire les images..). Le "designer" n'a même pas à toucher au code source XUL des écrans. (donc pas de risque de tout casser).
Cela nous amène à d'autres avantages, que l'on retrouve d'ailleurs en développement web :
C'est l'avantage de reposer sur des technologies standards : on les retrouve un peu partout ;-)
Je serais plus ou moins d'accord avec KR ici à propos de la syntaxe. Sauf lorsqu'on parle de mauvaise foi ;) En effet, la syntaxe de XAML est beacoup plus abordable. Laurent : ne crois tu pas qu'à terme, une structure "tout-en-un-seul-fichier" pourrait être bénéfique, surtout pour les débutant qui trouverait la séparation reboutante ? D'autant que si l'on part du principe que Microsoft est le concurent principal, eux ne se géneront pas pour copier tout ce qui est bien dans XUL. Je serais d'ailleur étonné que XAML ne supporte pas d'hors et déjà une séparation code/présentation pour le gros développement en équipe, la maintenance d'appli lourde, etc... D'une manière générale, par contre, je serais assez pour des outils de conversion entre chaque langage, et en particulier vers XUL qui a ma préférence (oui, je l'avoue, je suis un open-sourceur dans l'âme). D'autant plus que vu la ressemblance de tous ces langages XML, il doit être très simple de faire des XSL? passant de l'un à l'autre. Le résultat : une application 100% libre qui minimiserait le temps de conversion d'une application Macro{soft,media}