Et ho on se calme les gens !
XUL c'est Mozilla only, bah oui car c'est développé par Mozilla. Mais Flex, c'est pas Adobe only par hasard … ? Je vous rappelle que le moteur Gecko s'embarque très bien dans un .dmg par exemple. Même un bête .exe si on veut. Donc c'est bien multi plateforme. Où est le problème si c'est Mozilla only si on peut l'embarquer dans ce qu'on veut ? Java c'est bien J2EE, PHP c'est bien ZendCore, Flex c'est bien Adobe Integrated Runtime, bah XUL c'est XULRunner.
Je ne prone pas toutes les technos Mozilla. Il y en a des mauvaises. Mais XUL n'est pas considéré à sa juste valeur, c'tout. D'ailleurs, arrêtez de dire que je ne jure que par Mozilla. J'ai migré sur Firefox il y a peu de temps, car avant il avait un gros cul, plus maintenant. Je parle des technos que je connais (autant que possible), c'est tout à fait légitime (peut-être que je n'ai pas mis la forme, j'en conviens).
Pour @rthur, oui j'ai déjà développé en Flex il y a 3 ans, et c'était l'horreur.
Tu dis que XULRunner est tombé à l'abandon, c'est complètement faux. Firefox n'est rien d'autre qu'un XULRunner hein. C'est juste un XULRunner renommé. Le problème qu'on a, c'est qu'on n'a pas de
packaging XULRunner, les gens galèrent pour le trouver, mais il existe bel et bien. Je veux dire, Firefox
c'est XULRunner qui lit
browser.jar (qui contient
browser.js,
browser.xul etc.), tout bêtement. Donc c'est très loin d'être abandonné.
Pour les mises à jour, c'est donc faux.
Pour les outils de déploiements, on a Autoconfig, mais c'est vrai qu'on est moins bon que Microsoft sur ce point.
Promotion quasi-inexistante, ok, sauf dans le cadre des extensions, mais alors, ça change quoi ?
La documentation est très bien foutue (voir le MDC :
http://developer.mozilla.org), et traduite en plusieurs langues. Pour la communauté, je ne sais pas ce qu'il y a, mais je vais sur #Xulfr (irc.mozilla.org) et ça m'est largement suffisant.
Pour les bugs non-corrigés, tu es au courant car tout est ouvert. Qu'est-ce qui te fait croire que Flex ne corrige pas ses bugs tant que ça ne lui ai pas utile ? Et en plus, il n'y a pas que Firefox a considérer. Il y a Thunderbird, Songbird, Camino, Fennec etc. La liste est longue hein. Et il ne faut pas croire qu'on ne corrige pas les bugs qui ne sont pas importants, il y a des priorités, c'est tout. Sinon, si on parle beaucoup d'un bug, bah il sera patché puis corrigé, c'est le processus normal … On a l'impression que ça va moins vite car on peut voir tous les bugs et en proposer, chose impossible chez MS ou Adobe.
Pour ton résumé un peu hattif, ce n'est pas pénible du tout à développer. J'ai fait une application en XUL en 5mn même pas, pour afficher un bête
Hello World. C'est léger, c'est fluide, c'est rapide et c'est très puissant. Je veux dire, on peut faire nos composants en C++ et les utiliser depuis Javascript, c'est ultra rapide. On peut faire du bas-niveau et du haut-niveau. Mais on peut faire uniquement du haut-niveau si on veut. Je veux dire, on peut juste tout faire selon nos besoins : s'il manque des composants, on peut les créer, si on en a trop, on peut les supprimer, on peut les modifier, on peut faire ce qu'on veut, tout est ouvert.
Pour la complexité, c'est faux. C'est très simple au contraire. Quoi de plus simple qu'un bête XML et un peu de Javascript ? Pas de nouveaux langages à apprendre …
Pour les IDE corrects pour coder en XUL, je rappelle qu'un IDE qui permet d'écrire du XML, du Javascript et de zipper permet de faire une application XUL. Autant dire que tous les IDE le permettent … ? Si jamais vous mettez les mains dans le cambouis (dans le C/C++), vous faites un Makefile et c'est bon, rien d'incroyablement insurmontable.
XUL est à tord peu utilisé … mais tout comme Scheme. C'est un langage magnifique mais qui est trop peu utilisé alors qu'il est réellement génial. Bah XUL n'est pas aussi beau que Scheme, mais c'est la même histoire. Il est à tord peu utilisé et mal connu.
Tu dis que pour chaque application XUL, on est obligé d'avoir tout Gecko, c'est encore faux. Tu as besoin du
toolkit certes, mais après, tu n'es pas obligé d'avoir SVG, HTML, CSS etc. Même histoire pour les composants XPCom, tu peux les supprimer (
rm) et c'est bon. Tu y mets de ce que tu veux.
Je rappelle qu'on parle d'une plateforme de développement et pas simplement une machine virtuelle. On peut adapter Gecko à nos besoins, et facilement en plus. Bien sûr, ça nécessite un apprentissage, mais comme toutes les nouvelles technos. En plus, le MDC est suffisamment clair et contient suffisamment de ressources pour nous être très utile.
D'aileurs, tu prenais l'exemple de XULPlanet, son contenu a été intégré au MDC histoire de tout centraliser.
En discutant hors-forum, on me dit que XUL ne tourne que dans Firefox. Il faut éclaircir ce point, vraiment. Firefox c'est XULRunner, donc oui il fait tourner du XUL. Mais si on isole XULRunner, on fait tourner ce qu'on veut, et pas seulement des applications Web. On a des client Twitter, des OS, des clients messageries, des logiciels multimédias etc. Sérieux : Miro ce n'est pas n'importe quoi … Songbird non plus. si vous trouvez que Thunderbird est lourd, regardez Postbox alors. Est-ce que ces applications sont lourdes ou lentes ? On associe Firefox à un logiciel lourd et lent (ce qui n'est plus vrai avec la 3.5 d'ailleurs). Mais dissociez Firefox de Gecko. On peut faire un logiciel lourd avec Gecko, mais on peut aussi faire des choses légères. Il ne faut pas associer Firefox à Gecko, car Firefox ajoute pas mal de choses (comme un historique, un cache bla bla, ce qui le rendait lourd avant).
Et donc contrairement à ce qu'on peut croire également, XUL ne sert pas qu'à faire du Web. D'ailleurs, ça n'a jamais été prévu pour faire du Web, mais pour faire des applications. C'est un langage d'interfaces graphiques et il le fait bien.
Pourquoi j'insiste sur XUL ? Non pas parce que je travaille chez Mozilla, mais parce qu'il utilise tout un tas de langages qui sont standards, et ça c'est bon ! Pas besoin d'apprendre pleins d'autres langages, on les connaît déjà tous : XML, HTML, Javascript, CSS, XBL, C++, IDL … on les connaît déjà.
Donc voilà mes arguments pour XUL. À vous de me montrer qu'on peut faire plus ou moins de choses avec Flex

.