• [^] # Re: Mes retours, un peu plus positifs

    Posté par (site web personnel, Mastodon) . En réponse au journal Thunderbird, mon premier contact est une déception !. Évalué à 10.

    Alors, un point sur la technologie utilisée par Thunderbird.

    Disclamer : j'ai longtemps contribué à Firefox, et j'ai, à titre professionnel, développé des extensions pour Thunderbird ou un client mail basé sur TB avec une interface différente.

    Le coeur de Thunderbird, c'est le même que celui de Firefox : Gecko. Gecko est un moteur de rendu XML/XUL/HTML + JS + CSS. Il sert tout autant à afficher une interface utilisateur que du contenu web. L'interface utilisateur est donc programmée avec le langage XUL, qui est, si l'on peut dire, du HTML++++. Avec bien sûr du JS pour le comportement et du CSS pour le design.

    Donc non, ça n'utilise pas la même UI, mais plutôt les mêmes technos.

    Les composants IMAP, POP, SMTP et tout ce qui gère des boites mails, etc sont développés par contre en C++.

    En ce qui concerne les threads : tout comme Firefox, l'UI fonctionne dans le thread principal, d'où effectivement des "freezes" si des composants liés à l'interface passent trop de temps à faire des choses. C'est le cas par exemple lorsqu'on configure un compte mail qui a déjà des giga octets de messages : il faut les charger (ça prend du temps, surtout si on a une connexion pourrie), et comme la liste des messages dans l'UI est mis à jour au fur et à mesure du chargement, ça peut effectivement freezer (malgré l'utilisation de techniques de traitements par lot pour éviter de rafraichir l'interface à chaque message chargé).

    Dans Firefox, dans le passé, on avait aussi ce problème, en particulier lorsqu'un site faisait de la merde en JS. Mais maintenant que les onglets sont dans des process séparés, ce n'est plus le cas.

    Et sinon la bonne nouvelle.

    Une équipe de développeurs dédiés à Thunderbird a était recrée il y a quelques mois, et est chapeauté par la fondation Mozilla (et non la corpo, qui s'occupe de Firefox). Pour l'instant ils sont quelques uns dans l'équipe, mais ils sont en processus de recrutement.

    Bref, le projet Thunderbird n'est plus abandonné par Mozilla. Les futures chantiers dans Thunderbird va être de refaire des composants comme le carnet d'adresse, d'améliorer l'interface, de faire du nettoyage dans le code, et bien d'autres choses, entre autre de refaire petit à petit l'interface en HTML. En effet, depuis qu'il n'y a plus le système d'extensions XUL dans Firefox, Mozilla est en train de "tuer" XUL et toutes les technos connexes dans Gecko. Par exemple, les "overlays xul" ont disparus, et ils sont en train de faire le ménage et de supprimer XBL, qui est l’ancêtre des web components (le shadow dom a été inventé chez Mozilla, et on l'utilise depuis 20 ans avec XBL ;-) ).

    Cette disparition de XUL ne va pas se faire du jour au lendemain, ça va mettre quelques années. Mais les conséquences pour Thunderbird commencent dés maintenant à se faire sentir pour les développeurs. Il va falloir qu'ils suivent le rythme et remplacer l'utilisation des technos qui disparaissent par d'autres.

    Ça bouge donc du coté de Thunderbird ! \o/