Cross Platform Component Object Model
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 ihre eigene Funktionalität in das Framework einbauen und mit anderen Komponenten verbinden können. Mit Firefox 57 (November 2017) wurde die Unterstützung für XPCOM entfernt und durch WebExtensions ersetzt.
Das Modell
Das Cross Platform Component Object Model ist eines von vielen Dingen, die die Mozilla-Anwendungsumgebung zu einem Framework machen. Es ist eine Entwicklungsumgebung, die folgende Merkmale für Entwickler plattformübergreifender Software liefert:
- Komponentenverwaltung
- Datei-Abstraktion
- Nachrichtenaustausch
- Speicherverwaltung
Dieses Komponentenmodell macht fast die gesamte Funktionalität von Gecko durch eine Menge von Komponenten oder alternativ als wiederverwendbare plattformübergreifend verfügbare Bibliotheken verfügbar. Anwendungen, die auf die verschiedenen XPCOM-Bibliotheken (Networking, Security, DOM etc.) zugreifen wollen, benutzen eine XPConnect genannte serielle Schicht von XPCOM, die die verschiedenen Bibliotheksschnittstellen nach JavaScript (oder andere (Skript-)Sprachen) reflektiert. XPConnect verbindet das Frontend mit C++- oder C-basierten Komponenten in XPCOM, und es kann einschließlich Scripting-Unterstützung für andere Sprachen erweitert werden: PyXPCOM bietet Support für Python, PerlConnect und plXPCOM liefern Unterstützung für Perl, und es werden Anstrengungen unternommen, .Net-Framework- und Ruby-Sprachunterstützung für XPConnect zur Verfügung zu stellen (Stand Januar 2007).
Mit XPCOM lassen sich Komponenten in Sprachen, für die spezielle Anbindungen geschaffen wurden, schreiben und kompilieren. Diese Komponenten laufen auf vielen verschiedenen Plattformen.
Die Flexibilität, die XP-Komponenten der Gecko-Bibliothek wiederzuverwenden und neue Komponenten zu entwickeln, die auf verschiedenen Plattformen laufen, wird durch das Rapid Application Development erleichtert. Die Netzwerk-Komponenten zum Beispiel können von jeder Mozilla-Anwendung benutzt werden. Ein-/Ausgabe, Security, Passwort-Management und Profile sind ebenso separate XPCOM-Komponenten, die ein Entwickler in seiner eigenen Anwendung benutzen kann.
Weblinks
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.