XPCOM

XPCOM

XPCOM (Cross-Platform Component Object Model) est un modèle libre de composants développé par la Fondation Mozilla.

Il s'agit d'une bibliothèque logicielle qui, schématiquement, permet de concevoir une application comme un ensemble de plugins. Ces composants peuvent être développés dans des langages distincts, auquel cas les communications entre ces composants sont assurées par la technologie XPCONNECT. Cette bibliothèque a servi, notamment, à développer Mozilla, Mozilla Firefox, Mozilla Thunderbird, Mozilla Composer, Nvu, Komodo…

XPCOM est inspiré des technologies CORBA ou Microsoft COM, qui elles-mêmes apportent à des langages statiques une partie des bénéfices (et inconvénients) de langages dynamiques comme Objective-C ou Python. Comme CORBA et COM, XPCOM permet de développer des architectures de composants.

L'architecture est alors :

  • dynamique :
    • les composants sont chargés lors de l'exécution,
    • de nouveaux composants peuvent être ajoutés lors de l'exécution, sans avoir à recompiler ou recharger les composants existants.
  • typée semi-dynamiquement :
    • certaines informations sur un composant sont connues statiquement,
    • un composant peut être interrogé afin d'apprendre s'il dispose de certaines capacités, qui pourront être utilisées si le composant répond par l'affirmative.
  • « polyglotte » :
    • le langage de base de XPCOM est C++,
    • les langages JavaScript, Python, Ruby, Perl peuvent utiliser et définir des composants XPCom,
    • le projet JavaXPCOM vise à permettre de faire de même en Java (BlackConnect avait le même objectif),
    • Monoconnect, une plate-forme d'interaction entre XPCom et .Net est actuellement en cours de développement.
  • multiplate-forme :
    • un composant C++/XPCOM rédigé selon les consignes de Mozilla pourra être recompilé et réutilisé tel quel sur toute plate-forme Mozilla,
    • les composants JavaScript peuvent être réutilisés immédiatement sur toute plate-forme Mozilla, tout comme les composants non compilés Python, Ruby, Perl.

De plus, les composants XPCOM ont accès aux riches bibliothèques de Mozilla, ce qui permet notamment d'accéder au moteur de rendu Gecko, le cœur de l'affichage des pages web par Mozilla et au moteur de réseau Necko, ainsi que de développer des interfaces graphiques en XUL.

Une récente initiative de Mozilla, XULRunner, vise à séparer les bibliothèques XPCOM de Mozilla des logiciels construits à l'aide de ces bibliothèques. L'objectif est de faire de Mozilla une plate-forme de développement multiplate-forme comparable à la machine virtuelle Java ou à l'environnement .Net.


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article XPCOM de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • XPCOM — (англ. Cross Platform Component Object Model, «кросплатформенная объектная модель компонентов»)  кросплатформенная компонентно ориентированная модель разработки ПО от Mozilla. Она схожа с CORBA и Microsoft COM. XPCOM позволяет… …   Википедия

  • XPCOM — Free software portal XPCOM (Cross Platform Component Object Model) is a cross platform component model from Mozilla. It is similar to Microsoft COM and CORBA. It has multiple language bindings and IDL descriptions so programmers can p …   Wikipedia

  • XPCOM — Cross Platform Component Object Model (XPCOM) ist ein plattformunabhängiges Komponentenmodell von Mozilla. Es funktioniert ähnlich wie CORBA oder COM mit Hilfe von Schnittstellen. Es verfügt über verschiedene Sprachanbindungen und… …   Deutsch Wikipedia

  • Cross-Platform Component Object Model — XPCOM XPCOM (Cross Platform Component Object Model) est un modèle libre de composants développé par la Fondation Mozilla. Il s agit d une bibliothèque logicielle qui, schématiquement, permet de concevoir une application comme un ensemble de… …   Wikipédia en Français

  • Cross Platform Component Object Model — XPCOM XPCOM (Cross Platform Component Object Model) est un modèle libre de composants développé par la Fondation Mozilla. Il s agit d une bibliothèque logicielle qui, schématiquement, permet de concevoir une application comme un ensemble de… …   Wikipédia en Français

  • Cross Platform Component Object Model — (XPCOM) ist ein plattformunabhängiges Komponentenmodell von Mozilla. Es funktioniert ähnlich wie CORBA oder COM mit Hilfe von Schnittstellen. Es verfügt über verschiedene Sprachanbindungen und Schnittstellenbeschreibungen, so dass Programmierer… …   Deutsch Wikipedia

  • XPConnect — (Cross Platform Connect) is a technology which enables simple interoperation between XPCOM and JavaScript. Object connection XPConnect allows JavaScript objects to transparently access and manipulate XPCOM objects. It also enables JavaScript… …   Wikipedia

  • Netscape Plugin Application Programming Interface — (NPAPI) is a cross platform plugin architecture used by many web browsers.It was first developed for the Netscape family of browsers starting with Netscape Navigator 2.0 but has subsequently been implemented in other browsers including Mozilla… …   Wikipedia

  • NPAPI — Netscape Plugin Application Programming Interface (NPAPI) is a cross platform plugin architecture used by many web browsers. It was first developed for the Netscape family of browsers starting with Netscape Navigator 2.0 but was subsequently… …   Wikipedia

  • Mozilla application framework — Free software portal The Mozilla application framework is a collection of cross platform software components that make up the Mozilla applications. It was originally known as XPFE, an abbreviation of cross platform front end. It was also known as …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”