XPCOM |
XPCOM (Cross Platform Component Object Model) is a simple, cross platform software componentry similar to CORBA or Microsoft Component Object Model. It has multiple language bindings and Interface description language descriptions so programmers can plug their custom functionality into the framework and connect it with other components.
=The Model=
It 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 *Message passing *Memory management
This component object model makes virtually all of the functionality of language support for XPConnect.
On the developer side, XPCOM lets you to write components in 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.
The flexibility to reuse the XPCOM components from the Gecko library and develop new components that run on different platforms facilitates rapid application development and results in an application that is more productive and easier to maintain. The networking library, for example, is a set of XPCOM components that can be accessed and used by any Mozilla application. File I/O, security, password management, and profiles are also separate XPCOM components that programmers can use in their own application development.
=Future development=
An initiative known as XULRunner attempted to split XPCOM components from Mozilla itself. The objective is to turn Mozilla into a cross-platform development environment comparable to that of Java platform or Microsoft .NET.
=References=
*Mozilla Foundation. (2005). [http://www.mozilla.org/why/framework.html Why to Use Mozilla as an Application Framework]. Retrieved February 26, 2005.
=See also=
*XPConnect *Component Object Model
=External links=
*[http://www.mozilla.org/projects/xpcom/ XPCOM Project Homepage] *[http://www.xulplanet.com/references/xpcomref/ XPCOM Reference] *[http://www-128.ibm.com/developerworks/webservices/library/co-xpcom.html XPCOM Part 1: An introduction to XPCOM]|
|