XPCOM
XPCOM (Cross Platform Component Object Model) は、Mozillaプロジェクトにおいて開発されているクロスプラットフォームなコンポーネントオブジェクトモデルである。
概要
C++で実装されており、そこそこの精度のC++コンパイラーがある環境であればほぼ動く。 Linux、Windows、Mac OS Xという主要なプラットフォーム上で動作する。
複数の言語バインディングが提供されており、C++の他に、JavaScript、Java、Pythonなどの実装が存在する。XPCOMのインタフェースには、XPIDLと呼ばれるインタフェース記述言語 (IDL) が用いられている。
XPCOMにはコアとなるコンポーネントとクラス群が一緒に提供されている。例えば、ファイルやメモリの管理、文字列や配列などの基本的なデータ構造などがこれに含まれる。しかし、ほとんどのXPCOMコンポーネントは、コア以外の部分で提供されている。たとえば、Geckoレンダリングエンジンなどがこれにあたる。