Le toolkit Mozilla

Index

Qu'est-ce que Gecko?

Le moteur de rendu Gecko, intégrable et multi plate-formes, est le coeur de Mozilla. Il n'a aucune interface utilisateur; il décode simplement le contenu Web et l'affiche. Cette capacité est utilisée dans plusieurs applications, dont certaines ont peu à voir avec la navigation Web. Par exemple, Gecko (de concert avec XUL; voir ci-dessous) est utilisé pour afficher l'interface utilisateur des applications de Mozilla.

Le développement de Gecko a commencé en 1997 et a évolué vers un moteur de rendu léger, rapide et robuste, caractérisé par une architecture ouverte, portable, extensible et personnalisable. Il a été intégré dans une variété de logiciels tiers et de matériels, allant de convertisseurs HTML-vers-PNG jusqu'à des IDEs commerciaux. Gecko sert de moteur de rendu au dernier Compuserve 7.0 de même qu'à Netscape 6 et 7. Il est testé dans des versions beta du service AOL et intégré dans la version 8 du client AOL pour MacOSX.

D'autres exemples incluent plusieurs projets qui sont de purs navigateurs:


Plus d'informations techniques sur l'intégration Gecko sont disponibles sur les pages de mozilla.org et de codeguru.com.

Qu'est-ce que XUL?

XUL (eXtensible User-interface Language) est la technologie d'interface utilisateur multi plates-formes de Mozilla basée sur XML.

Cette technologie permet aux développeurs de définir des interfaces utilisateurs graphiques multi plate-formes utilisant un mélange de XML, HTML, CSS et ECMAScript (JavaScript). Un utilisateur peut modifier n'importe quel aspect de l'interface utilisateur d'une application Mozilla basé sur XUL (comme le produit Mozilla lui-même) simplement en modifiant des fichiers qui utilisent la syntaxe standard d'une page Web.

XUL utilise Gecko pour implémenter l'interface utilisateur spécifiée. La combinaison Gecko/XUL est la base qui permet à une application Mozilla de s'extensionner, de manière aussi simple qu'une page Web, ou sophistiquée comme l'application Mozilla. Gecko gère tous les éléments basiques des interfaces utilisateurs graphiques actuelles, y compris menus, contrôles d'entrées, fenêtres de dialogues, menus en arborescence (par exemple, dans le menu des préférences de Mozilla) et raccourcis-clavier.

Un guide d'initiation sur XUL peut être trouvé sur XULPlanet. Il y a aussi un ensemble de vignettes indiquant comment construire une application avec XUL et JavaScript, accompagné d'informations techniques plus détaillées (1 ; 2). Plus d'informations sont aussi disponibles sur mozilla.org.

Qu'est-ce que XPCOM?

Les composants de Mozilla sont des composants XPCOM. XPCOM (Cross-Platform Component Object Model), d'abord créé en tant qu'élément du projet Mozilla, est maintenant utilisé par plusieurs autres projets. XPCOM est une variante multi plates-formes allégée du bien connu COM (Component Object Model). Un article du site Web d'IBM discute davantage du sujet.

Tous les objets de XPCOM bénéficient d'un "wrapper" ECMAScript (JavaScript), ainsi la plupart des développeurs Mozilla apprécieront le coté multi plates-formes et les autres avantages offerts par XPCOM sans jamais avoir besoin de s'occuper de XPCOM lui-même.

Qu'est-ce que Necko?

Necko est la bibliothèque réseau de Mozilla. Il fournit une API indépendante de la plate-forme pour plusieurs couches réseaux, allant du transport à la présentation. Les composants de la bibliothèque incluent une implémentation standardisée de différents gestionnaires de protocole (HTTP, FTP, etc.), et plusieurs fonctionnalités réseaux, y compris les DNS, l'authentification, les connexions proxy et la gestion du cache.

L'API est utilisée dans le produit Mozilla et peut aussi être utilisée pour écrire des clients réseau. Des informations sur la bibliothèque réseau Necko sont disponibles sur http://mozilla.org/projects/netlib/.

Qu'est-ce que Imagelib?

La bibliothèque de rendu d'images (Imagelib) décode divers formats d'image pouvant être affichés par Mozilla. Elle est complètement modulaire et conforme aux standards. Elle gère les formats d'images courants comme JPEG, PNG, GIF et PPM (Portable Pixel Map).

Pourquoi JavaScript (ECMAScript) est-il si important dans le toolkit de Mozilla?

JavaScript est un langage de script largement répandu, à l'origine développé par Netscape. Il a depuis été standardisé par le comité ECMA-262 en tant que "ECMAScript". Il est omniprésent non seulement dans les pages Web, mais aussi dans les applications serveur JavaScript.

Mozilla fournit deux implémentations de JavaScript: l'implémentation originale et la plus répandue est écrite en C et est incorporée au navigateur Mozilla, tandis que la deuxième implémentation est écrite en Java. Diverses informations sur l'implémentation de JavaScript, des standards, des séries de test, des guides d'initiations et des forums peuvent être trouvées sur http://mozilla.org/js/.

Le toolkit Mozilla fournit le débogueur JavaScript Venkman, un puissant environnement de déboguage JavaScript pour les navigateurs basés sur Mozilla (excluant les navigateurs basés uniquement sur Gecko comme K-Meleon et Galeon).

Venkman vous permet d'effectuer les tâches suivantes:

De l'information complémentaire sur Venkman, y compris une démonstration approfondie, peut être trouvée sur http://mozilla.org/projects/venkman/.

Quels sont les principaux avantages à utiliser le toolkit de Mozilla?

Une application Mozilla s'exécute sans modification et avec toutes les fonctionnalités sur n'importe quelle plate-forme supportant Mozilla.

Mozilla est entièrement "open source" et libre, ce qui procure beaucoup d'avantages au développeur. Par exemple, le code "open source" largement utilisé tend à être plus robuste et sûr que le code du logiciel propriétaire.

Et s'il y a un bogue, un développeur a le droit d'inspecter le code et corriger le problème (et préférablement de signaler le changement afin que tous en bénéficient : "donnez au code et il vous le rendra").

Mozilla supprime pratiquement la distinction entre les applications de bureau et les pages Web, ce qui amène plusieurs autres avantages. Un développeur spécialisé en applications de bureau et programmant à l'aide d'éléments comme des composants, des APIs, des objets, des événements, des méthodes, des propriétés et des interfaces utilisateurs graphiques sophistiquées, trouvera un environnement de programmation hospitalier. Ceci tout en utilisant une technologie en grande partie standardisée et multi plates-formes.

D'un autre côté, beaucoup de concepteurs de sites Web constateront qu'ils peuvent faire évoluer leurs compétences pour développer de véritables applications sans avoir besoin de quitter leur environnement familier.

Quels outils de développement sont incorporés à Mozilla?

Mozilla 1.0 contient un inspecteur de DOM (pour lequel un guide d'initiation est aussi disponible), un débogueur JavaScript, une console Java et JavaScript, et une vue de la source avec mise en valeur de la syntaxe.

Quelle technologie de sécurité le toolkit utilise-t-il?

La sécurité dans Mozilla commence par NSS (Network Security Services), écrit par les ingénieurs de Netscape. Cette bibliothèque, qui date d'avant la campagne `Free the Lizard` de 1998, bénéficie entre autres de:

S'appuyant sur le NSS, le PSM (Personal Security Manager) exécute des opérations cryptographiques pour Mozilla et est accessible comme un composant par l'utilisation d'ECMAScript (JavaScript).

À qui doivent s'adresser les OEMs intéressés à utiliser le code de Mozilla ou désirant plus d'informations?

Les OEMs intéressés par l'utilisation du "codebase" de Mozilla peuvent contacter Mitchell Baker, "Chief Lizard Wrangler" de mozilla.org.