Forums : Plateforme Mozilla

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2

# billet sur XUL vs Autre RIA

Envoyé par : hhf

Date : 12/07/2008 20:25

bonjour à tous, je poste ce billet avant de partir en vacance.

Depuis quelque années je me suis beaucoup investi sur la technologie XUL en mode Remote, J'ai développer une application riche à mon travail, et différents composants XBL certain disponible sur le WIKI.

Précurseur de cette technologie au seins de mon entreprise, j'ai même il y deux ans fait une présentation à l'ensemble du pôle de développement. Hélas, Mozilla et sa politique de ne promouvoir que Firefox, n'a jamais communiqué réellement sur la Technologie XUL.

Pour preuve, lors des matchs dans la presse spécialisée des différentes alternatives pour le RIA, FLEX et Silverlight caracolent. Parfois javaFX aussi. Pas de XUL dans les 01 info ou autres magazines que les decideurs lisent (Sans rien comprendre le plus souvent d'ailleur).

XUL à une réputation de Geek techno. A tord je penses, au vue du nombre de Firefox "deployés" dans le monde utilisant ce framework.

Donc ce qui devait arriver est arrivé. Le pôle de développement à décidé de faire un choix quand a la technologie pour nos RIA. Évidement, je vous le donne en mille, FLEX fut choisie. (il sont fort chez Adobe). J'avoue avoir était déçu de ce choix, mais l'on dira pas de moi que je suis un vieux con à peine 34 ans..., et quand on m'a demandé d'étudier la réécriture de mon application en FLEX, je m'y suis mis de bon cœur.

Voila pour l'historique. Je voulais commencé par ceci, pour montrer l'objectivité des propos qui vont suivre. Je retiendrais donc en vrac :

  • Le language de script : javascript ne tient pas la comparaison par rapport à actionscript. language typé, scope (private, public) des methodes et des variables...
  • l'IDE inexistant pour XUL. Surement le point le plus critiquable. l'IDE Flex même si payant est très agréable, même avec ses lacunes. je parle même pas du mode design en pratique inutile, mais de la complétion, la coloration syntaxique et finalement les erreurs signalées grâce pour le coup à la compilation nécessaire.
  • Au niveau développement, j'avais un peu peur au début des recompilation nécessaire à Flex, mais finalement pas si contraignantes. Mais vaut mieux penser à faire la partie authentification, à la fin du développement sous peine de devoir se taper toute la phase d'authentification pour chaque modification de vue... car le F5 ca marche pas pour une application Flex..
  • XUL, est Web Friendly. Et peut se comparer à une extension de XHTML. Il permet d'embarquer toute les technologies du WEB, comme du Flash d'ailleurs ce qui n'est pas vrai pour l'inverse.
  • Flex malgré ca soit disant licence Mozilla, s'il s'intègre aisément dans les technologies Web, ne sais pas du tout, mais pas du tout faire le contraire. GROS Point noir pour FLEX. En effet, nulle moyen d'afficher ne serait ce qu'une page HTML dans un application Flex. Oui, je répète le Framework FLEX ne permet pas cela. En gros pour les XULeur, il manque cruellement un composant iframe au framework Flex. Il existe il est vrai des solutions, mais c'est plus au moins de la bidouille avec un système d'iframe à l'extérieur du "swf" (flash résultant de la compilation de code FLex).

Quand je pense que via une extension comme IETab, on arrive à utiliser le rendu d'Internet Exploreur dans Firefox, En flex, seule l'utilisation d'un HTML reformaté à la sauce Adobe peut etre affiché nativement dans une application Flex.

  • Un composant mx:HTML tentant de résoudre ce problème existe cependant dans AIR, la solution standalone de Flex (l'équivalent de XULrunner). Mais ce dernier est basé sur une version très simplifié de Safari (bon navigateur au demeurant) et ne permet d'afficher que du HTML, du PDF et des images. surement du Flash (non testé). Ce que j'entends par là c'est que nulle moyen de demander à l'OS d'ouvrir ne serais ce qu'un word. Bien sur il y a toujours le moyen de déchargé cette tache au navigateur par défaut en utilisant la méthode navigateToURL(...). Mais cela sous entends que l'on risque de devoir gérer plusieurs session, puisque le navigateur par défaut ne partage pas la session de safari. Sans parler de l'ergonomie douteuse que l'utilisateur subira quand il cliquera sur un word, qui ouvrira FF ou IE qui lui demandera si il veux ouvrir ou enregistrer le doc, et enfin qd word enfin s'ouvrira avec en prime une fenêtre du browser ouverte et vide.
  • XUL avec XUlRunner ou un script signé permet d'accéder à toute les ressources de la machine hôte. Chez Adobe, les règles de sécurité, c'est trop compliquées à gérer. on fait un sandbox et basta, vous accédez à rien d'autre. Même dans une application AIR, vous n'avez par exemple pas moyen de déployer un API qui aurait une tache bien précise (décompression, calcul...). Vous imaginez, les contraintes d'une application standalone (déploiement, intallation, maj), sans les avantages... n'importe quoi. Nulle moyen non plus de lancer une application tierce sur le client.
  • Avec XUL, vous benéficiez de toute la puissance de Gecko rendu HTML bien sur, mais SVG, MathML, CSS, XUL, XPath, RDF, et j'en passe. Chez Adobe, on réinvente tout. le CSS est incompatible, l'API de d'accès au XML ressemble comme deux goutte d'eau a Xpath, mais n'est pas compatible, le SVG n'est pas supporté mais un commerciale de Adobe, m'a dit que Adobe était en train de développer leur solution (bien sur).
  • Autre exmple, pour implementer la correction (indication des fautes de syntaxe) dans vos RIA Flex, vous attendrez gentiment que Adobe le fasse (c'est prévu évidement). Alors que en XUL, l'insertion d'un textarea, bénéficiera de la correction de Firefox.
  • Je trouve que la création de composant XUL via XBL est plus séduisante que celle de Flex. En fait, Adobe à été plus pragmatique sur ce point, et n'a pas réellement créé un atre language pour cela, ce qui est bien en soit, mais malgré l'absence de pouvoir définir les notion de public/private pour les attribute et les methode du composant créé, je préfère XBL qui permet entre autre d'insérer des nœuds fils à différent endroit du content du composant. En Flex, vous devez déclarer un variable public qui recevra les noeuds fils que vous voulez inclure dans le composant, ce qui est domage, c'est qu'un composant maison ne donne pas toujours l'impression de se comporté comme un composant du framework. (Enfin, je suis conscient que sans exemple c'est dur de comprendre... LOL).
  • Idem pour les templates, je trouve plus puissant le système de template de XUL, même si au final, c'est moins souple. RDF, est un tres bon descripteur de ressource. Même si certain le trouve un peu complexe à appréhender au début. Une fois compris, on peut plus s'en passer.
  • Comme le flash player ne communique pas avec l'OS, pas moyen de profiter des codecs installés sur celui ci, donc avec Adobe, si je stream une vidéo avec un codec exotique, j'ai juste à prier que Adobe l'inclura dans la prochaine release. Ou alors, il faut que je la convertisse coté serveur. J'adore...
  • Après mon entrevue avec un commerciale de Adobe, ce que je retiens, c'est que Adobe veut tout refaire à sa sauce. Je pense que leur but inavoué est de supplanter JAVA dans l'embarqué. Peut être même un jour faire un OS basé sur Flash. En contrôlant et en développant toute les technologie du WEB. En etant pas compatible avec les autres bien sur, mais à leur corps défendant en proposant des solutions que d'autre n'ont pas su proposer (Flash pour l'animation, IDE complet pour Flex). Vous étonnez pas si demain il y aura un lecteur FLash dans votre TV, machine à laver etc...

Que dire de plus, je viendrais surement rajouter des choses si d'autres choses me viennent à l'esprit. Je vous invite à faire part de vos expériences aussi. Loin des guerres monde libre/microsoft, j'avoue être impatient de voir réellement silverlight en action avec leur propre IDE. J'étais très enthousiaste aussi par JavaFX, la solution de Sun, mais j'ai pas l'impression que la description de l'interface ce fasse par une description XML. Ce qui est quand même la raison première de XUL/Flex/Silverlight à mon sens.

Enfin pour finir, je fait un appel à Mozilla :

  • Communiquez plus sur votre excellent Framework.
  • Integrez rapidement une version de javascript plus en adéquation avec les language actuels (Class Interface, typage, public private etc...).
  • Sautez une realease de Firefox, mais bon sang de bon soir, faite un IDE digne de ce nom, sur Eclipse par exemple.
  • Installé Xulrunner lors de l'install de FireFox.
  • Enfin, un composant natif RTE serait le bienvenue. J'avous que Midas m'a laissé perplexe, on sens qu'il manque de maturité. Mais le principe est bon. Il faut juste améliorer l'API.

# Re: billet sur XUL vs Autre RIA

Envoyé par : Paul Rouget

Date : 12/07/2008 20:43

Excellent article, merci.

hhf a écrit:

...
Enfin pour finir, je fait un appel à Mozilla :

- Communiquez plus sur votre excellent Framework.

On en a déjà parlé: http://blog.mozbox.org/post/2007/03/21/A(..)

- Integrez rapidement une version de javascript
plus en adéquation avec les language actuels
(Class Interface, typage, public private etc...).

JS 2 + ActionMonkey (Mozilla 2)

- Sautez une realease de Firefox, mais bon sang de
bon soir, faite un IDE digne de ce nom, sur
Eclipse par exemple.

Le marché du framework est ridicule face à Firefox, donc non. De plus, le réel concurrent à ces technos, c'est WebApp (html 5).

- Installé Xulrunner lors de l'install de
FireFox.

Firefox, c'est XulRunner (cf. firefox -app)

# Re: billet sur XUL vs Autre RIA

Envoyé par : hhf

Date : 13/07/2008 01:58

Paul Rouget a écrit:


Le marché du framework est ridicule face à
Firefox, donc non.
De plus, le réel concurrent à ces technos, c'est
WebApp (html 5).

He ben moi, je suis pas d'accord avec ça... Sur le Web, Internet Explorer sera toujours un acteur majeur, de par ça diffusion systématique avec l'OS leader du marché. par contre en entreprise, on peut faire des choix, installer sur le parc un navigateur de son choix est tout a fait envisageable surtout quand il est multi OS. D'où l'intérêt de séduire les entreprises. D'où l'intérêt de séduire les pôles de développement.

De plus comme je vois les choses, c'est que si on laisse faire, le HTML5 et les technos connexes seront vouées à disparaitre au train où vont les choses. Imaginez, des sites entièrement fait avec les technos Adobe, des CMS qui permettrons aux utilisateurs non initiés de faire leur page perso en ligne sans avoir une ligne de code à écrire. quel sera l'intérêt d'installer Firefox puisque le player flash tournera de façon identique sur tout les navigateurs.

Je rapelle que Google et Yahoo en accord avec Adobe on trouvé un moyen pour que les applications Flash soit parsé par leur robots. Prochaine étape pour Adobe faire un navigateur, puis un OS :-)... Peut être même que le browser ne saura pas interpréter le HTML. Je veux pas être alarmiste, mais bon...

Un petit IDE, ça serait quand même bien, même pour les développeur de chez mozilla. non ?

Je relis ton message Paul, tu dis que le concurrent de Flex et silverlight c'est HTML5 ??? HTML5 permet de faire du RIA ?

En tous cas merci de cette rapide réponse

# Re: billet sur XUL vs Autre RIA

Envoyé par : Paul Rouget

Date : 13/07/2008 02:38

hhf a écrit:

Je relis ton message Paul, tu dis que le
concurrent de Flex et silverlight c'est HTML5 ???
HTML5 permet de faire du RIA ?

Prism + HTML5, oui.

# Re: billet sur XUL vs Autre RIA

Envoyé par : hhf

Date : 13/07/2008 03:40

Yen a qui se couche pas tôt... LOL Je viens de chercher rapidement HTML5 et Prism sur le net, en quoi pour toi HTML5 et Prism vont t'il concurrencer Flex ou silverlight. HTML permet de faire la presentation, prism de rendre un site disons standalone... Pas d'interface riche dans tout ca, tu preconnises pas de revenir au DHTML quand meme. pour moi HTML : présentation, XUL et consor : Interface

# Re: billet sur XUL vs Autre RIA

Envoyé par : Raphael

Date : 13/07/2008 08:45

Sujet très intéressant...

M'impliquant moi aussi dans Mozilla depuis bientôt 2 ans, ça me fait plaisir de lire ce genre de choses car c'est vrai qu'on nous martèle sans cesse "Flex, Flex, Silverlight,..."

Et que pour moi, même non professionnel, je me rends bien compte de la puissance et des avantages de XUL au quotidien.

Interface XML, CSS, JS, multi-plateforme, multi-lingue, multi-skin, possibilité de créer facilement ses composants, API de base très complète (affichage page HTML, Téléchargements, requêtes AJAX, Modules d'extensions intégré, compression/décompression, manipulation de fichier qui marche quel que soit l'OS avec le même code ! etc....). Sans compter la possibilité enfantine de pouvoir inclure des lib supplémentaires comme VLC pour créer un lecteur audio/video, la possibilité de lancer des applications tierces, etc...

Bref, vous savez tout ça mieux que moi, mais je m'étais toujours demandé ce que permettait ou ne permettait pas Flex...

Merci donc hhf d'avoir levé un coin du voile sur cette technologie, je ne regrette pas mon investissement dans Mozilla :)

# Re: billet sur XUL vs Autre RIA

Envoyé par : Paul Rouget

Date : 14/07/2008 13:58

Pour les RIA, ça doit passer par un langage standardisé: HTML 5 + XBL 2 (pas pour rien que le groupe de travail s'appelle Web app). Avec Prism en plus, tu réponds à la majorité des besoins.

Moi je pense que l'avenir du Web, c'est:

  • Javascript 2 + ensemble de bibliothèques communautaires (scriptacoulous, jquery & co)
  • HTML 5 + ensemble de bibliothèques communautaires basées sur XBL 2 (et là, on pourra voir apparaître les "<tree>, <commandset>, <tabs>, ...")

# Re: billet sur XUL vs Autre RIA

Envoyé par : hhf

Date : 16/07/2008 00:19

Bon, soit HTML 5, mais le W3C n'a t'il pas l'impression de préconiser un standard qui existe déjà : XUL pour décrire les web app comme tu dis ? Pour Prism, pas de commentaire, c'est juste pour sortir l'application du navigateur, c'est ca ? y aura t'il un mode non connecté ? avec BDD local ?

# Re: billet sur XUL vs Autre RIA

Envoyé par : Paul Rouget

Date : 16/07/2008 10:43

hhf a écrit:

Bon, soit HTML 5, mais le W3C

(je rappelle que le working group en question, c'est Mozilla/Apple/Opera)

n'a t'il pas
l'impression de préconiser un standard qui existe
déjà : XUL pour décrire les web app comme tu dis
?

HTML5 n'est pas un XUL like.

Le soucis de XUL, c'est que ça ne fonctionne aujourd'hui que sous Mozilla, et on ne veut pas de technologie liée à une implémentation. Demander de réimplémenter XUL à Microsoft/Apple/Opera, c'est impossible. Par contre, demander de faire des évolutions d'HTML 4 vers HTML 5, c'est faisable.

Bref, dans la vraie vie, si un langage peut percer, c'est un langage standardisé et simple à implémenter (ce qui n'est pas le cas de xhtml 2 par exemple).

Pour Prism, pas de commentaire, c'est juste pour
sortir l'application du navigateur, c'est ca ? y
aura t'il un mode non connecté ? avec BDD local ?

C'est ça que tu ne comprends pas. C'est HTML 5 qui permet ça ! Oui, dans HTML 5, il y a un mode offline, oui il y a une BDD. Prism permet juste de faire "sortir", comme tu dis, une page web du navigateur, mais avec un icone sur le bureau, un nom dans la barre des taches, bref, ça transforme une page web en application simplement en changeant son context :)

# Re: billet sur XUL vs Autre RIA

Envoyé par : FLegens

Date : 16/07/2008 18:38

C’est un échange intéressant dont les sujets sont dans l’air du temps. L’avis de hht semble assez pertinent. Les rouleaux compresseurs Adobe et Microsoft avec respectivement Flex et Sivlerlight risquent de changer beaucoup de choses au niveau du web dans les années à venir. HTML5 est peut-être la solution non propriétaire, cependant à quelle date ? C’est une question importante bien décrite dans l’article suivant : Using Flash and Silverlight to move web standards forward

On peut donc se demander si le « web 2.0 » n’est pas l’âge d’or des solutions connectées non propriétaires, qui ont pris de court dans un premier temps les éditeurs informatiques. Ceux-ci voulant maintenant reprendre l’avantage en déclenchant les prochaines évolutions du web. Le dernier frein à ce mouvement étant probablement le référencement par les moteurs de recherche, mais il va progressivement disparaître puisque Google va indexer le flash .voir l’article suivant : http://www.christian-faure.net/2008/07/0(..)

Bref il va falloir se dépêcher pour le HTML5, et certaines propositions de normes sont en brouillons depuis 2005 !! De plus l’interface du futur Mozilla 2 sera-t-elle elle-même en HTML5, ou le XUL continuera-t-il à exister ? Si c’est le cas c’est bien qu’il y a un usage différent pour les 2.

Pour ce qui est de l’IDE c’est un sujet qui m’intéresse puisqu’à mon temps perdu je m’occupe de XulBooster un plugin Xul pour Eclipse. C’est en effet l’un des points noirs du Xul par rapport à Flex ou Silverlight (avec l’absence de documentation à jours) renforcé de plus par la collection d’outils de développements disparates qui fait qu’il va être difficile de faire du tout une solution cohérente et efficace.(mais cela va s’améliorer avec le prochain Mozilla Developer Resource Kit). Pour l’instant je me limite au scope Xul/Javascript, en espérant qu’un jour quelqu’un s’occupera d’XPCOM. Les prochaines évolutions prévues :

  • améliorations de la prise en compte du Javascript,
  • possibilité de développer et d’utiliser facilement des librairies de composants XBL.

Mais de toute façon il me semble très difficile d’obtenir un résultat comparable à l’IDE de Flex ou Silverlight.

Aller à la page :  1 2

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.