XPCOM
(Cross Platform Component Object Model から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/12/01 08:51 UTC 版)
ナビゲーションに移動 検索に移動XPCOM (Cross Platform Component Object Model) は、Mozillaプロジェクトにおいて開発されているクロスプラットフォームなソフトウェアコンポーネント技術である。マイクロソフトのComponent Object Model (MS COM) のオープンソース実装に相当する。XPCOMはC++で実装されており、Linux、Windows、macOSという主要なプラットフォーム上で動作する。複数の言語バインディングが提供されており、C++の他に、JavaScript、Java、Python等の実装が存在する。XPCOMのインタフェースには、XPIDLと呼ばれるインタフェース記述言語 (IDL) が用いられている。
XPCOMにはコアとなるコンポーネントとクラス群が一緒に提供されている。例えば、ファイルやメモリの管理、文字列や配列などの基本データ構造などがこれに含まれる。しかし、ほとんどのXPCOMコンポーネントは、コア以外の部分で提供されている。たとえば、Geckoレンダリングエンジンなどがこれにあたる。
MonoのCOM相互運用
MonoにおけるCOM相互運用はMS COMおよびXPCOMを基盤としている[1][2]。
XUL/XPCOMベースのアドオン
MozillaはFirefoxやThunderbirdにおいて、XUL/XPCOMを利用したアドオン(拡張機能)のSDKを提供してきたが、XUL/XPCOMベースのアドオンの段階的な廃止を表明している。Firefox Quantum 57 では全面的に廃止され[3][4][5]、Thunderbirdでも、バイナリXPCOMなど一部廃止されている[要出典][要説明]。FirefoxやThunderbirdのアップグレードを行ったときに、いままで使用してきたアドオン(「旧式アドオン」と呼ばれる)が使えなくなる事象は、このことによる可能性が高い。[独自研究?]
Firefox Quantum の拡張機能では、XUL/XPCOMの代わりに Microsoft Edge、Google Chrome、Operaなどでサポートされている WebExtensions[6] を使用する。
脚注
- ^ The Mono Runtime | Mono
- ^ COM Interop | Mono
- ^ Firefox 57 (Quantum) for developers - Mozilla | MDN
- ^ Firefox アドオン技術の現代化 | Firefox ヘルプ
- ^ Porting a legacy Firefox extension | Extension Workshop
- ^ https://developer.mozilla.org/ja/Add-ons/WebExtensions
関連項目
- Mozilla
- Gecko
- XUL
- XULRunner
- XPConnect(JavaScript用XPCOMバインディング)
- JavaXPCOM(Java用XPCOMバインディング)
- PyXPCOM(Python用XPCOMバインディング)
- RbXPCOM(Ruby用XPCOMバインディング)
- PlXPCOM(Perl用XPCOMバインディング)
外部リンク
- XPCOM - Mozilla | MDN
- XPCOM reference - Mozilla | MDN
- mozdev books:8.XPCOM(英語)
- XPCOM[リンク切れ]
- XPCOM資料[リンク切れ]
- Gecko Embedding API Reference(英語)
- dW:XPCOM 第1回 XPCOM入門
- dW:XPCOM 第2回 XPCOMコンポーネントの基本
- dW:XPCOM 第3回 XPCOMのセットアップ
- dW:XPCOM 第4回
- dW:XPCOM Part 5: Implementation(英語)
|
- XPCOMのページへのリンク