XPCOM

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を基盤としている。
XUL/XPCOMベースのアドオン.
MozillaはFirefoxやThunderbirdにおいて、XUL/XPCOMを利用したアドオン（拡張機能）のSDKを提供してきたが、XUL/XPCOMベースのアドオンの段階的な廃止を表明している。Firefox Quantum 57 では全面的に廃止され、。
Firefox Quantum の拡張機能では、XUL/XPCOMの代わりに Microsoft Edge、Google Chrome、Operaなどでサポートされている WebExtensions を使用する。