XPCOM:Language Bindings
From MDC
An XPCOM Language Binding is a bridge between a certain language and XPCOM to achieve the following two goals:
- Enable access to XPCOM objects from within that language (where access means reading/writing/creating XPCOM objects as well as calling methods on them).
- Expose modules written in the bound language as XPCOM objects, thereby enabling all other languages for which XPCOM bindings exist to access these modules.
Since the XPCOM layer itself is written in C/C++, its API can be accessed out-of-the-box using C or C++. For all other languages to be able to access the XPCOM API, an additional bridging layer is needed.
Such bridging layers exist for various languages:
- JavaScript: XPConnect (is part of Firefox and actively used in XUL applications)
- Java: JavaXPCOM (not part of Firefox, but included in default XULRunner builds and is used in some Eclipse applications)
- Python: PyXPCOM (not part of default builds, but actively used in ActiveState Komodo products)
- Perl: PlXPCOM
- Ruby: RbXPCOM
Please refer to the pages of the respective binding if you need information on how to use it.