vendredi, novembre 11 2005

Tester XULRunner

L'avenir de Mozilla passera dans quelques mois par XULRunner. Et il est d'ores et déjà possible de voir de quoi cela aura l'air. XULRunner se présente aujourd'hui comme en quelques sortes un interpréteur d'applications XUL construites selon un schéma conventionnel défini. Celui-ci peut encore évoluer, et il le fera certainement, mais petit à petit, on voit se dessiner plus précisément la forme définitive de ces conventions :

base/
       application.ini
       chrome/
                 chrome.manifest
                 content/
                            applicationName/app.xul
                            applicationName/app.js
                            applicationName/(...)
                 locale/[lang-code]/applicationName/app.dtd
                 skin/classic/applicationName/app.css (...)
                 icons/applicationName/app.(ico|xpm)
       defaults/preferences/app-prefs.js

Le fichier application.ini est celui qu'il faut pour l'instant passer en paramètre à xulrunner, que ce soit avec linux ou windows. Les répertoires content, locale et skin peuvent être regroupés dans des fichiers jar. Cela est décrit dans chrome.manifest. Par ailleurs le fichier defaults/preferences/app-prefs.js (qui peut avoir un autre nom) est indispensable pour définir quel est le layout xul de départ (qui se trouve dans content).

Après ce rapide tour d'horison d'une application XUL, quelques tests ! Première étape : télécharger la nocturne récente (le numéro de version a son importance, mais rien ne vous empêche d'essayer avec les 1.9). Installez-les fichiers dans un répertoire simple à retrouver :

  • sous linux, /usr/local/xulrunner avec un lien symbolique pour plus de facilité
# ln -s /usr/local/xulrunner/xulrunner /usr/local/bin
  • sous windows "c:\Program Files\xulrunner" et l'ajout d'une entrée dans la base de registre [HKEY_CLASSES_ROOT\inifile\shell\XULrunner\command] : @="\"C:\\Program Files\\xulrunner\\xulrunner.exe\" \"%1\""

Les application publiques qui tournent sous XULRunner ne sont pas encore bien nombreuses, ni volumineuses. Mais quelques petits exemples permettent aux développeurs de se familiariser avec le principe.

  • A commencer par l'exemple de base, qui date un peu et ne fonctionne qu'avec la version 1.8. A noter que pour faire fonctionner une application XULRunner sur la version 1.9 il faut changer dans application.ini la valeur de l'entrée MaxVersion (de 1.8 à 1.9) mais cela ne suffira pas toujours.
  • Plus probant et même déjà pas mal intéressant, le mini browser pour XULRunner, par Darin Fisher, ainsi que son démineur qui donnent déjà la preuve que de simples applications fonctionnent déjà très bien.
  • Dans le même style, je ne peux m'empêcher de faire la pub de svgclock qui utilise les capacités SVG de mozilla pour afficher une petite horloge sur le bureau. On n'est pas encore tout à fait au niveau des dashboards, mais cela viendra sûrement... N'hésitez pas à jouer avec ces petites applications, à les améliorer, vous en inspirer... il est temps de passer à la vitesse supérieure.

Car de vrais applications avec XULRunner, c'est déjà possible ! Mozchat, démineur et svgclock en action

  • Daim, un projet d'analye d'images, qui a été présenté aux dernières JDLL (ah comme j'aurais aimé y être) utilise XULRunner comme frontend de la librairie. C'est encore en développement, mais déjà utilisable.
  • MozMapEditor de Paul Rouget sera une application vraiment intéressante, basée sur XUL et SVG. il est possible de voir un bout de code sur le cvs de mozdev, et de tester les balbutiements de l'application, mais Paul a dû retarder sa sortie. C'est sans doute pour bientôt !
  • GenCat (via Pascal) est un agregateur écrit pour XULRUnner. Il a la particularité de s'installer avec le runtime de XULRunner, sans doute pour plus de simplicité côté utilisateur. Le mode de distribution des applications XULRunner n'étant pas encore au point.
  • Chatzilla fonctionne désormais avec plus ou moins de bonheur dans XULRunner.
  • Tout nouveau, il n'y a pas beaucoup d'infos dessus mais déjà le fonctionnement est pas mal du tout, Mozchat est un client jabber/gtalk léger et rapide. Il lui manque pas mal de fonctionnalités encore, certes, mais c'est déjà du bon boulot ! A noter que j'ai tenté rapidement de porter Jabberzilla pour XULRunner, avec un succès mitigé, puisque quelques éléments essentiels (le roster, par exemple) ne fonctionnent vraiment pas...)

Si vous voyez d'autres applications oubliées, je suis preneur !

Dernière remarque : Benjamin Smedberg qui est le chef du projet devrait lancer une petite compétition de développement d'applications après la sortie de Firefox 1.5... Préparons-nous !

Et d'ici peu, peut-être que cette page sera étoffée.

vendredi, septembre 30 2005

Astuces de débogage XULRunner

Petite astuce vraiment utile : tout comme pour Firefox, les options -console et -jsconsole passées en ligne de commande à xulrunner font apparaître les consoles demandées !

Mais bizarrement, cela ne fonctionne apparemment que si ces options sont passées en dernier (après le fichier .ini).

mercredi, septembre 28 2005

Buzz mais pas trop

Parmi les technos bichantes, il y a XUL et SVG ! Mis ensemble, ça peut donner des trucs intéressants... Tout le monde à bien noté l'existence, quelque part sur un bout de disque dur de MozMapEditor, miam miam !

Il n'y a pas si longtemps, Daniel Glazman s'enthousiasmait sur les possibilités de XULRunner : Forget Konfabulator, forget Dashboard, forget Tcl/Tk.. Tilt à mon oreille ! Si on peut utiliser XULRunner pour se construire des outils du type Konfabulator, Rainmeter, samurize, SuperKaramba ou Gdesklets, alors on a l'outil de gadgets utiles pour toutes les plateformes !

Je n'ai pas essayé longtemps, avec XULRunner et SVG, on peut le faire ! Ca demande sûrement de normaliser un peu : gestion des gadgets, options, mais en très peut de lignes, on peut se faire une petite horloge sympa. Je vous laisse imaginer les possibilités offertes par le SVG ! Je regrette juste le manque des filtres SVG.

Bon le résultat se trouve là.

EDIT du 29 septembre à 15h20 : Voir ici pour quelques améliorations : clic gauche pour déplacer, milieu pour fermer et un affichage digital avec des paths. Dommage que sous linux l'arrière plan de la fenêtre ne soit pas caché. Si par ailleurs quelqu'un sait comment faire disparaître l'icône de la barre des tâches (windows, gnome, kde) ça m'intéresse !

EDIT du 30 septembre à 10h10 : svgclock 0.3

jeudi, avril 7 2005

Extensions Firefox : une vieille idée qui traine

Depuis un bon moment traîne dans un coin de ma tête et sur un bout de papier une idée d'extension pour Firefox. J'en avais parlé à un développeur d'extensions prolixe[1], mais il manquait de temps pour me donner un coup de main, du coup, j'ai laissé de côté. Mais franchement, une telle extension serait bien pratique parfois. Alors pourquoi pas partager l'idée ! Par manque de temps et aussi n'ayant pas réfléchi à ce par quoi il faudrait commencer, je n'ai rien réalisé de concret. Alors quiconque est intéressé en fait ce qu'il veut...

Notes

[1] clav

Lire la suite...