XPCOM

Pourquoi utiliser le framework XPCOM

XPCOM est une architecture attrayante par ses qualités. Il est donc intéressant de l'utiliser.

Dans quel but ?

Il est possible d'utiliser XPCOM pour étendre une des applications de la suite Mozilla : Firefox, Thunderbird, Sunbird... Grâce à la notion de composants, il est alors facile de créer des extensions que l'on peut proposer au téléchargement, éventuellement de manière commerciale.

Une autre façon plus intéressante d'utiliser XPCOM est de concevoir une application complète reposant sur l'architecture XPCOM. Bien entendu, pour tirer pleinement parti des développements déjà réalisés, il est judicieux de réutiliser au maximum les composants déjà écrits. Ces composants sont en effet éprouvés.

Exemple d'application basée sur XPCOM

IDM, l'entreprise dont je fais partie, développe des applications encyclopédiques (dictionnaires, encyclopédies) reposant sur la plateforme Mozilla. Un exemple est l'Encyclopédie Hachette Multimédia 2005 qui est la première encyclopédie commerciale à être distribuée sous Linux (en France, tout du moins).

Toutes les applications développés à IDM sont constituées de trois parties :

Cela présente de nombreux avantages. Un premier avantage réside dans la réutilisation d'une architecture robuste. Cette architecture est modulaire ce qui permet à l'application d'évoluer facilement. De plus, ce code est maintenu par une large communauté de développeurs. Par ailleurs, de par le fait qu'il s'agit d'une architecture open source, il est possible de maîtriser complètement la plateforme de développements.

Un autre avantage réside dans le fait que l'architecture est multi-plateformes. Il s'agit d'un formidable argument commercial car il existe, de nos jours, peu de produits sous Linux. Plus généralement, les applications grand public sont souvent axées sur le marché Microsoft Windows.

De plus, et c'est une force d'un modèle de composants, il est réellement possible de découper les développements en équipes. À IDM, l'équipe R&D développe des composants qui sont génériques et n'a pas besoin de connaître les composants développés par les équipes applicatives. D'ailleurs, l'équipe R&D travaille sur une version de Mozilla sans autre composants que ceux présents dans de base.

Enfin, notons que, grâce à la possibilité d'utiliser plusieurs langages de programmation, il est possible de confier le développement de composants à des équipes de développeurs possédant des profils différents. À IDM, peu de développeurs maîtrisent le langage C++, et c'est pourquoi c'est un grand avantage de pouvoir développer des composants en JavaScript.