News Xulfr

Eclipse + ATF + XULBooster: La puissance de Mozilla

mercredi 20 juin 2007 à 16:18

Eclipse n'est plus à présenter: un des meilleurs environnements de développement intégré, sa puissance et sa versatilité en font un outil de choix. Dans la dernière incarnation (3.2), on retrouve toutes les qualités qui ont fait son succès auprès des développeurs les plus schyzophrènes exigeants, fournissant un environnement de travail complet, unique et cross-platform capable de s'adapter à des conditions de travail de malades hétérogènes.

On mentionnera notamment sa capacité à passer en un clic d'une perspective de travail orientée C++ à une perspective Python, Ruby, ou PHP, son excellente intégration Subversion (grâce à Subclipse, ou encore Subversive), l'intégration Trac et Bugzilla, son extraordinaire flexibilité, etc...

Parmi les évolutions récentes de la plate-forme, l'un des aspects les plus intéressants est l'interaction avec Mozilla. Premièrement, l'intégration de XULRunner et des binding XPCOM pour Java dans la plate-forme, et secondement, le développement d'outils spécifiques pour le travail en XUL.

I - Un XULRunner sous le capot

Un bon screenshot valant toutes les explications, voici un exemple d'organisation possible (parmi de nombreux autres) pour travailler le web dans Eclipse.

  1. Contient l'aperçu de votre page rendue par Gecko. Les onglets suivants contiennent des documents source.
  2. Un DOM inspector sur le document en cours
  3. La classique console d'erreurs
  4. Un DOM watcher, permettant de suivre les modifications sur le node sélectionné
  5. Un inspecteur de style (computed style, style rules, box model)
  6. Aperçu visuel du box model pour l'inspecteur de style
  7. Un terminal javascript pour exécuter du code dans le contexte du document

Tout cela est rendu possible grâce au plugin ATF qui embarque un XULRunner 1.8.1 (cette version de XULRunner et les bindings Java sont également disponibles directement sur le ftp Mozilla).

Bien entendu, vous n'êtes pas limités au html ! Le XUL passera très bien... qu'il soit distant, local, ou même dans le chrome du XULRunner embarqué (cette dernière option n'étant pas forcément la bonne approche, cependant).

Le mode édition, enfin, a de gros atouts, aussi bien en javascript (avec la validation de syntaxe assistée par JSLint):

capture d'écran de l'édition de code javascript

... qu' en (?:x|xht|ht)ml

capture d'écran de l'édition de code html

ou encore pour l'édition des stylesheets.

Le couple Eclipse/XULRunner, ici sous la forme Eclipse+WTP+ATF, est une grande réussite : toute la puissance de la plate-forme Mozilla (inspection, rendu) intégré proprement dans un workspace hautement configurable.

II - XULBooster: La vengeance

L'intégration de XULRunner dans la plate-forme, c'est très bien - mais il ne s'agit pourtant pas d'un environnement de développement "orienté extensions" (ou orienté applicatif standalone sur XULRunner). Ce rôle-là a longtemps été assuré par EclipseXUL (par OrangeVolt). À mettre au passé, donc, puisque maintenant c'est officiel, le vénérable n'est plus... Commentaire de son créateur :

EclipseXUL will be closed - XulBooster rules. I recently ran across XulBooster, a much more complete Eclipse plugin than EclipseXUL - my own home grown Eclipse XUL plugin effort. XulBooster seems to make a lot of progress these days. Therefore - and to prevent confusing users (which plugin do I need ?) I will close the EclipseXUL project. It makes me happy to see XulBooster growing.

Nous voilà donc prévenus: XulBooster rules ! La dernière release (0.1.6), du 14 Mars 2007, contient un bon nombre d'améliorations, et si XULBooster reste un projet encore "jeune", il est maintenant très utilisable et plus que prometteur. Voici en quelques screenshots un parcours de ses fonctionnalités les plus intéressants.

Édition de l'install.rdf d'une extension en "mode visuel":

À noter les liens "Register extension", "Launch Firefox", "Using the export wizard"... qui font bien ce qu'ils suggèrent ! Créer une extension et l'installer dans le chrome en quelques clics, la packager en un clic, que du bonheur !

Snippets XUL, toujours pratique:

L'aperçu design pour les XBL (encore quelques problèmes avec les retours chariots dans les commentaires ;)):

D'autres screenshots sont disponibles sur le site XULBooster.

Conclusion: Eclipse, Mozilla ready ?

Il est traditionnel d'opposer le frame-work Eclipse (et sa toolkit RCP) à Mozilla (avec XUL) - certains veulent même les voir comme d'irréductibles concurrents. Cette perception est sans doute faussée - au moins en grande partie. Preuve en est l'excellent résultat démontré par les créateurs d'ATF (officiellement relayé par la fondation Mozilla) : on peut intégrer le meilleur moteur de rendu dans le meilleur environnement de développement pour le plus grand bénéfice de tous. Quant à la possibilité d'avoir un jour un environnement de développement de qualité professionnelle entièrement dédié à XUL, le petit XULBooster pourrait bien être en train de montrer la voie !

Notes et addenda

L'utilisation d'Eclipse n'est pas triviale: il y a une certaine marge d'apprentissage, et un temps à consacrer à apprivoiser la bête avant d'être vraiment productif. D'autre part, l'usage d'un IDE n'est pas forcément adapté à tous et à toutes les circonstances: parfois, emacs et zsh suffisent amplement ;). À noter enfin qu'une machine décente est nécessaire: 500 mégas de RAM à consacrer à l'IDE n'est pas de trop...

Ceux qui, toutefois, souhaitent se lancer dans l'aventure ne le regretteront pas ! Nous leur conseillons d'utiliser un build Eclipse récent (3.2.2), avec WTP, et de récupérer la dernière release ATF stable. On leur conseillera également l'usage de Subclipse et de Mylar.

Trackbacks

Les trackbacks pour ce billet sont fermés.

Commentaires

1. mercredi 20 juin 2007 à 19:27, par Raphael

Super billet, merci beaucoup.

2. mercredi 20 juin 2007 à 23:56, par David Marteau

Interessant, mais malheureseusement j'ai un doute sur le validateur (JSLint) qui me semble un peu depassé.

3. jeudi 21 juin 2007 à 00:16, par dMp

Certes, JSLint n'a pas inventé le nescafé... Je le trouve malgré tout "décent", et il fait ce que j'en attends à peu près correctement. Tu connais un plugin alternatif susceptible de remplacer la partie validation js?

4. mercredi 18 juillet 2007 à 11:50, par Zack

Quelqu'un ne serait pas où je pourrai trouver une sorte de pack pour tous télécharger d'un coup?

Merci d'avance.

Les commentaires pour ce billet sont fermés.


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.