News Xulfr

L'avenir de XUL (et de Xulfr)

lundi 19 août 2013 à 09:24

Comme vous le constatez certainement, le site est à l'abandon depuis plusieurs mois. La raison principale est le manque de temps. Mais aussi le manque de motivation il faut le dire. Xulfr.org fetera bientôt ses 10 ans (en octobre). C'est une longue durée pour les mainteneurs d'un site :-)

Et puis il y a aussi le fait que XUL est en perte de vitesse. Le temps où il y avait beaucoup de projets utilisant nombre XUL et XulRunner est pratiquement révolu. Depuis longtemps, Mozilla a relégué XUL en tant que technologie "interne", et a tout misé sur HTML5 pour le développement d'interfaces utilisateur. Ainsi :

  • XulRunner est encore disponible et suit les évolutions de la plateforme Mozilla, mais on ne peut pas dire qu'il soit vraiment maintenu. Je soupconne même que les nouvelles versions sortent automatiquement à chaque nouveau tag dans le dépot de Gecko :-).
  • Depuis Firefox 4, il n'est plus possible d'utiliser XUL dans des applications web
  • Les nouveaux projets de Mozilla n'utilisent plus XUL. Par exemple, l'interface utilisateur des applications de Firefox OS est en HTML5. Pas une seule ligne de code XUL (ou presque ;-)).
  • Mozilla développe un nouveau moteur de rendu, Servo. Pour le moment, cela reste plus un projet de "proof of concept" pour le langage Rust, mais si un jour il dépasse le stade experimental (pas avant quelques années), il est certain qu'il n'implémentera pas XUL.
  • Vous souvenez-vous de Prism, le lanceur d'application web dans une fenêtre dediée, sans barre de menu ni barre d'url ? Le concept est de retour avec les WebApps, qui est totalement operationnel dans Firefox et Firefox OS (et qui est adopté par les autres navigateurs, même si il y a des petites differences). De ce fait, la technologie privilégiée pour faire des RIA est désormais le HTML5.
  • Et puis, bon nombre de fonctionnalité de XUL se retrouvent petit à petit dans HTML5/CSS : il en va ainsi du modèle de boite, des web components qui reprennent les concepts de XBL (shadow tree...), etc.

L'avenir est donc au HTML.

Cependant HTML5 n'a pas encore toute la puissance de XUL. Certaines parties de la technologie XUL sont absentes de HTML5, comme les overlays. Les web components sont encore loin d'être opérationnels dans tous les navigateurs. XBL reste donc une technologie "d'avant garde".

De plus, Firefox et Thunderbird (et d'autres logiciels) ont encore leurs interfaces en XUL, parce que d'une part, il est vrai que ce serait un boulot monstre de tout refaire en HTML5 et que cela casserai bon nombre d'extensions, mais aussi parce que XUL et consort apportent une souplesse et une puissance au système d'extensions, qui n'a jamais été égalé dans d'autres logiciels. Et on n'a pas encore toutes les fonctionnalités de XUL dans HTML5.

Il faut dire aussi qu'en dehors du langage XUL lui même, la plateforme Mozilla reste une plateforme de choix pour des applications très spécifiques, comme par exemple... des navigateurs. Ou tout autre application qui a besoin d'afficher des pages web. Ainsi, à Innophi, nous avons développé pour un gros client un navigateur complet avec des fonctionnalités et une interface très spécifiques (avec un moteur de script, un moteur de macros...). Et en début d'année, j'ai pu commencer très rapidement le développement d'un navigateur scriptable, SlimerJS, mimant les fonctionnalités du navigateur PhantomJS, tout en javascript, grâce à la richesse de la plateforme Mozilla.

XUL, XBL, XPCom et autres techonologies de Mozilla ne sont sont pas encore mort et ne le seront pas avant quelques années. Le XUL lui même évolue en grès des besoins des développements de Firefox. Quant au site Xulfr.org, le forum est toujours ouvert. Durant les prochains mois, on va essayer de mettre à jour le wiki. On essaiera de continuer à faire vivre le site. À ce sujet, si il y a des volontaires pour faire des news régulières sur les évolutions de la plateforme Mozilla (pour Firefox, Firefox OS...), contactez moi ;-)

Recherche de développeurs XUL

vendredi 4 mai 2012 à 10:23

Firefox, avec ses 25-30% de part de marché des navigateurs, est un projet très vivant, et des entreprises ont souvent besoin de réaliser des extensions pour Firefox ou des applications basées sur Firefox. La technologie utilisée est donc XUL, XPCom, et cela peut aller jusqu'à des Firefox personnalisés qui nécessitent recompilation etc...

À Innophi, société que David Marteau et moi-même (Laurent Jouanneau) avons fondé il y a 2 ans, nous avons donc régulièrement des demandes de prestation pour des projets XUL. Cependant il nous arrive d'en refuser faute de disponibilités. Aussi, si vous proposez des prestations avec les technologies XUL, que vous soyez une société de service ou un développeur freelance, nous pourrions avoir des projets pour vous. Contactez-moi : laurent@innophi.com ;-)

Firefox 4 et XulRunner 2.0 sont sortis

lundi 28 mars 2011 à 11:52

Après de nombreuses beta mais seulement deux RC, Firefox 4 est finalement sorti la semaine dernière, avec au programme des nombreuses nouveautés pour les développeurs, dont le système d'extension qui ne nécessite pas un redémarrage à l'installation. Notez également, la sortie, dans la foulée, de XulRunner 2.0, disponible sur le ftp de mozlla, qui possède bien entendu le même moteur Gecko 2.0, que Firefox 4.0. Profitez donc entre autre des grosses améliorations des performances dans vos applications !

Firefox 4, c'est pour bientôt

mercredi 12 janvier 2011 à 10:27

Quelques news après ce long temps de silence :-)

Firefox 4 est dans sa dernière phase de développement, ce qui veut dire que dorénavant, Mozilla va se concentrer à corriger les bugs plutôt qu'à rajouter des nouvelles fonctionnalités. Vous pouvez télécharger la beta8, sachant que la beta9 ne devrait plus tarder à sortir. La version finale ne sera disponible que dans plusieurs semaines, "quand ça sera prêt", comme d'habitude.

Cette nouvelle phase veut dire aussi que vous pouvez dorénavant adapter vos extensions pour cette nouvelle version. Pour cela, il ne faut pas hésiter à lire la liste des nouveautés et changements :

  • les nouveaux modules JSM,
  • JS-ctypes pour appeler directement des bibliothèques binaires (dll, so..)
  • nouveau gestionnaire d'addons
  • ChromeWorker, l'équivalent de webWorker pour le chrome, pour faire des traitements parallèles
  • tous les changements dans le tabbrowser, dans la manière de manipuler les popups et les nombreux changements améliorations dans plusieurs élements XUL
  • la nouvelle toolbar pour addons, puisque l'interface de Firefox 4 a complètement changé.
  • Pour les développeurs de composants XPCom, la nouvelle manière de déclarer les composants, permettant un chargement plus rapide de l'application.
  • Le support de la 3D dans canvas, avec webGL
  • les améliorations de la balise vidéo et la prise en charge du nouveau format WebM
  • Les animations avec SMIL et SVG
  • les transitions CSS
  • les webSockets (qui sont pour le moment désactivés par défaut, à cause d'un problème de sécurité dans le protocole même, dans la spécification même de websocket)
  • et des dizaines d'autres nouveautés et changements, que je vous laisse découvrir.

Notez également la suppression du support de XUL en remote (mais il est possible via une extension, de spécifier une liste de blanche de sites où il est autorisé)

Enfin, un nouvel utilitaire vient de sortir, pour gérer les profils d'une application Mozilla : création, lancement, backup & restauration etc. En effet, dans les versions qui suivront Firefox 4, le gestionnaire de profil intégré à Firefox disparaitra, et cet outils est destiné à le remplacer.

Du changement dans les composants XPCOM

mercredi 16 juin 2010 à 13:39

La prochaine version majeure de Firefox (la version 4 à priori), aura de nombreux changement dans le système d'extensions XPI. Par exemple, la plupart d'entre elles pourront être installées sans avoir à redémarrer l'application, nous l'avions évoqué dans une news précédente.

Un des obstacles à l'installation d'une extension sans redémarrage, est la façon dont les composants XPCOM sont activés. Actuellement, ils ne peuvent l'être qu'au démarrage. Gecko parcours le dossier components, charge le fichier dll/so/js, et appelle une fonction spécifique, NSGetModule implémentée dans la bibliothèque, pour que les composants puissent s'enregistrer.

Dans un futur proche (d'ici quelques jours ou semaines dans mozilla-central), la déclaration des composants se fera dans le chrome.manifest. Ce sera donc plus simple. Vous pourrez toutefois continuer à implémenter NSGetModule et cie, pour maintenir une compatibilité avec les versions précédentes de Gecko.

Ce changement permettra en plus un démarrage plus rapide de l'application, puisque gecko n'aura plus à parcourir le dossier components et à précharger les bibliothèques.

Une incidence à ce changement : le composant ne pourra plus écouter les notifications "xpcom-startup" et "app-startup", mais devra écouter la notification "profile-after-change", qui est préférable de toute façon, puisque elle est envoyée une fois le profil chargé, donc le composant a accès aux ressources du profil.

Pour plus de détails, et commencer donc à migrer vos composants pour Firefox 4, voir le billet de Dave Townsend.

Un nouveau tutoriel XUL

jeudi 1 avril 2010 à 11:54

Un nouveau tutoriel a fait son apparition sur le Mozilla Developer Center : Xul School. Il est orienté développement d'extensions, et a une approche plus pédagogique que le célèbre Xul Tutorial. Il permet ainsi de mieux comprendre les rouages des technologies Mozilla.

Reste à trouver un volontaire pour le traduire dans la partie française de MDC ;-)

L'avenir des extensions

mardi 30 mars 2010 à 11:14

Hier soir, des développeurs XUL, dont l'équipe Xulfr, étaient invités à rencontrer et à discuter avec Chris Beard (Chief Innovation Officer chez Mozilla) et Nick NGuyen (Director of Add-ons chez Mozilla), qui étaient de passage à Paris. Suite à certaines annonces malencontreuses par le passé, cela a donc été l'occasion d'en savoir plus sur le futur des extensions.

Lire la suite

Les améliorations à venir au niveau performances

mardi 9 mars 2010 à 12:05

Deux gros chantiers dans Gecko sont en cours : l'accélération matérielle graphique, et une nouvelle version majeur du moteur javascript.

Lire la suite

Plus de XUL pour les applis web

vendredi 26 février 2010 à 12:07

Mozilla a décidé de supprimer le support de XUL dans les pages web. Cela signifie que l'on ne pourra plus utiliser des éléments XUL dans application "distantes", hors chrome.

Lire la suite

XulRunner 1.9.2

vendredi 26 février 2010 à 11:44

Une nouvelle version de XulRunner est disponible. Elle contient Gecko 1.9.2, le moteur de Firefox 3.6, et contient donc toutes les nouveautés du navigateur, en particulier tout ce qui est lié à XUL et les extensions.

Vous pouvez télécharger XulRunner sur cette page et lire les notes de cette sortie.

Demo sur les avancées technologiques de Firefox 3.6

mardi 2 février 2010 à 18:30

Firefox 3.6 est sorti en version finale il y a une dizaine de jour, ainsi que sa version mobile pour Maemo.

Le coeur de Firefox 3.6, gecko 1.9.2, apporte de nombreuses nouveautés au niveau des technologies web, et permettent, avec les autres avancées HTML5 présentes dans les versions précédentes de Firefox, de réaliser maintenant des applications web vraiment puissante.

Pour le montrer, Paul Rouget vient de sortir une nouvelle démo. Cependant, c'est plus qu'une démo, c'est une véritable petite application concrète.

Lire la suite

Sortie de Firefox 3.6 beta 1

jeudi 5 novembre 2009 à 11:41

Ce week-end est sortie la première beta de Firefox 3.6. La version finale devrait sortir fin novembre.

Les principales avancées pour l'utilisateur sont :

  • De meilleures performances, tant au démarrage du navigateur, que l'affichage des pages et l'exécution du javascript.
  • Nouveau système de theme, plus léger. Il s'agit en fait de l'intégration de l'extension Personas.
  • Des améliorations dans le support des videos dans les pages web, en particulier le plein écran
  • Détection des plugins obsolètes, comme Flash

Pour les développeurs web et XUL, de nombreuses améliorations sont aussi proposées. En vrac:

  • support des posters pour les videos
  • CSS, sur les backgrounds: images multiples, dégradé de couleurs (-moz-linear-gradient, -moz-radial-gradient), spécification de la taille d'une image (-moz-background-size)
  • support du format WOFF pour les fontes web
  • statut "indeterminate" sur les champs de saisie
  • support de l'accéléromètre (évènement DOM MozOrientation), ce qui permet de connaître l'orientation de l'appareil (laptop ou mobile)
  • support du drag and drop de fichier vers l'application ou la page web

Pour la liste complète, voyez la page dédiée sur MDC.

Comete: les technologies Mozilla à la MIAGE d'Evry

mardi 20 octobre 2009 à 12:23

Cette semaine, des cours sur les technologies Mozilla sont dispensés aux étudiants de la MIAGE d'Evry. Il s'agit du projet Comete, une collaboration entre Mozilla Education et l'Université d'Evry (dans l'Essonne). Pour la première fois en France, un module d'enseignement sur des technologies issues de logiciels libres a été intégré dans un programme de MIAGE.

Ce module contient :

  • une journée de conférence, qui a eu lieu hier, où les étudiants ont pu découvrir ce qu'étaient les logiciels libres, en quoi ils étaient bénéfiques pour l'apprentissage de l'informatique, et bien sûr, ils ont fait connaissance avec le projet Mozilla et son écosystème. Les orateurs étaient Didier Courtaud (MIAGE), Tristan Nitot et Pascal Chevrel (Mozilla Europe), Roberto Di Cosmo, Mark Surman et David Humphrey (Mozilla, en direct du Canada via la vidéo-conférence !), ainsi qu'un cadre de la DGFIP expliquant en quoi le logiciel libre a été bénéfique dans le système d'information de cet organisme d'état.
  • 4 jours de cours, qui ont lieu cette semaine (cours magistraux et travaux dirigés). L'objectif de ces cours est d'apprendre à faire une extension pour Firefox, donc de connaitre XUL, XBL, XPCOM etc. Ils sont données par Fabien Cazenave (aka Kaze, l'auteur de Kompozer) et moi même.
  • un projet à réaliser en groupe (et noté), sur plusieurs mois. Les sujets seront proposés par Mozilla et par des entreprises partenaires.

Les conférences et les cours sont filmés, et seront disponibles sur le web d'ici quelques temps, tout comme les slides sous licences CC.

C'est donc une grande première et un pas de plus vers la démocratisation des logiciels libres.

Roadmap sur les futures version de Gecko/XulRunner/Firefox

mercredi 26 août 2009 à 13:00

Mozilla vient de publier un brouillon sur les évolutions futures dans Gecko et dans Firefox. L'occasion de faire le point.

Lire la suite

De la 3D dans Gecko

dimanche 28 juin 2009 à 15:14

Pour faire de la 3D dans Firefox, il y a actuellement une extension qui ajoute un contexte 3D sur la balise <canvas>. Et ce week-end, le code de ce contexte 3D vient d'être inclus dans le trunk Mozilla. Cela, en vue d'améliorations significatives et de fournir à terme, nativement dans Firefox et XulRunner, une API 3D.

Cela fait suite à la création en mars dernier d'un groupe de travail à Khronos Group, en collaboration avec Mozilla, pour créer un standard ouvert et libre de droits sur l'accéleration graphique 3D sur le Web. (voir le communiqué officiel).

Pour le moment, ce contexte 3D n'est pas compilé par défaut. Il faut activer le flag --enable-canvas3d dans le fichier .mozconfig pour activer la 3D dans XulRunner ou Firefox. À noter aussi que l'API du contexte 3D n'est pas stable, et qu'il y aura certainement des changements durant les prochains mois, suite au travaux du Khronos Group.


Copyright © 2003-2013 association xulfr, 2013 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.