Il s'agit de la couche la plus complexe et la plus puissante du framework. XPCOM3 (Cross Platform Component
Object Model) intègre une gestion de bibliothèque de composants : chacun peut rajouter son propre composant
ayant ses propres fonctionnalités, afin d'être utilisé au final dans l'application.
Mozilla met à disposition des utilisateurs du framework tous les composants qu'ils utilisent pour leurs
applications : il en existe au total plus de 2 000.
Il n'y a donc plus qu'à écrire le code qui permet de choisir et d'utiliser
ces "briques" logicielles déjà toutes prêtes : génial ! Pour les aficionados
de Windows, Microsoft s'est lancé dans cette technologie depuis des années avec
le COM, anciennement appelé OLE (Object Linking and Embedding).
Les possibilités de XPCOM sont :
» Ecrire du code multiplate-forme : un même composant peut fonctionner sous Windows, Mac et Linux. La
portabilité du code est l'objectif principal de XPCOM.
» Ecrire du code réutilisable : on retrouve des fonctionnalités similaires entre différentes applications
(lecture des périphériques, ouverture de fichiers, connexions réseau
), alors pourquoi ne pas les écrire
une seule fois, puis ensuite les partager ? On y gagne à tous les coups : mises à jours partagées, gain
de temps, séparations des composantes du logiciel
» La séparation des fonctionnalités en composants de petite taille : on sait exactement ce que chaque
composant est capable de faire et on peut donc, sans écrire une ligne de code, concevoir son
application. Idéal pour les architectes !
» Utiliser des composants scriptables :
un composant écrit dans un langage est disponible dans tous les autres et ce depuis
tous les langages pouvant utiliser XPCOM (Javascript, C, C++, Python, Java) !
On peut imaginer un composant écrit en C++ implémentant un protocole réseau (tout simplement car la librairie n'est disponible que dans ce langage), et l'utiliser dans un autre programme écrit en Python