Cross Platform Component Object Model

from Wikipedia, the free encyclopedia

Cross Platform Component Object Model ( XPCOM ) is a platform-independent component model from Mozilla . It works similar to CORBA or COM with the help of interfaces . It has various language connections and interface descriptions so that programmers can build their own functionality into the framework and connect it to other components. With Firefox 57 (November 2017) the support for XPCOM was removed and replaced by WebExtensions .

The model

The Cross Platform Component Object Model is one of many things that make the Mozilla application environment a framework. It is a development environment that provides the following features for developers of cross-platform software:

This component model exposes almost all of Gecko's functionality through a set of components or alternatively as reusable cross-platform libraries . Applications that want to access the various XPCOM libraries ( Networking , Security , DOM etc.) use a serial layer of XPCOM called XPConnect , which reflects the various library interfaces based on JavaScript (or other (script) languages). XPConnect connects the front end to C ++ or C -based components in XPCOM, and it can be expanded to include scripting support for other languages: PyXPCOM provides support for Python , PerlConnect and plXPCOM provide support for Perl , and efforts are being made to .NET and Ruby language support for XPConnect (as of January 2007).

With XPCOM, components can be written and compiled in languages ​​for which special connections have been created. These components run on many different platforms.

The flexibility to reuse the XP components of the Gecko library and develop new components that run on different platforms is facilitated by Rapid Application Development . The network components, for example, can be used by any Mozilla application. Input / output , security, password management and profiles are also separate XPCOM components that developers can use in their own applications.

Web links