Cross-Platform Component Object Model

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 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.
  • multi-plateforme :
    • 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 multi-plateforme comparable à la machine virtuelle Java ou à l'environnement .Net.

  • Portail des logiciels libres Portail des logiciels libres
Ce document provient de « XPCOM ».

Wikimedia Foundation. 2010.

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

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • 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

  • 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

  • Component Object Model — Not to be confused with COM file. Component Object Model (COM) is a binary interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range… …   Wikipedia

  • Cross-platform Audio Creation Tool — Not to be confused with xACT, a GUI frontend for a collection of open source audio codecs, for the Mac. Cross platform Audio Creation Tool (XACT) is an audio programming library and engine released by Microsoft as part of the DirectX SDK. [1] It… …   Wikipedia

  • Common Object Request Broker Architecture — The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together (i.e., it… …   Wikipedia

  • Object Linking and Embedding — (OLE) is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension (OCX), a way to develop and use custom user interface elements. On a technical level,… …   Wikipedia

  • Object Pascal — Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung… …   Deutsch Wikipedia

  • Object Windows Library — Developer(s) Originally Borland (now Codegear) Initial release 1991 Stable release OWLNext 6.30.9 / September 2, 2010; 14 months ago (2010 09 02) …   Wikipedia

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Windows Display Driver Model — Эта статья содержит незавершённый перевод с иностранного языка. Вы можете помочь проекту, переведя её до конца. Если вы знаете, на каком языке написан фрагмент, укажите его в этом шаблоне. Windows Display Driver …   Википедия

Share the article and excerpts

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