|
XPCOM
XPCOM similar to (Cross Platform Component Object Model) is a cross
platform component modelCORBA or Microsoft COM. It has multiple language
bindings and IDL descriptions so programmers can plug their custom
functionality into the framework and connect it with other components.
XPCOM is one of the main things that makes the Mozilla
application environment an actual framework. It is a development
environment that provides the following features for the cross-platform
software developer:
-
Component management
-
File abstraction
-
Object message passing
-
Memory management
This component object model makes virtually all of the
functionality of Gecko available as a series of components, or reusable
cross-platform libraries, that can be accessed from the web browser or
scripted from any Mozilla application. Applications that want to access
the various Mozilla XPCOM libraries (networking, security, DOM, etc.) use
a special layer of XPCOM called XPConnect, which reflects the library
interfaces into JavaScript (or other languages). XPConnect glues the front
end to the C++ or C programming language-based components in XPCOM, and it
can be extended to include scripting support for other languages: PyXPCOM
already offers support for Python, PerlConnect provides support for Perl,
and there are efforts underway to add .NET and Ruby language support for
XPConnect.
On the developer side, XPCOM lets you write components
in C++, C, JavaScript, Python, or other languages for which special
bindings have been created, and compile and run those components on dozens
of different platforms, including these and others where Mozilla itself is
supported
|