XPCOM
Modelo de objetos de componentes multiplataforma (XPCOM) es un modelo de componentes multiplataforma de Mozilla. Es similar a Microsoft Component Object Model (COM) y Common Object Request Broker Architecture (CORBA). Cuenta con múltiples enlaces de idiomas y descripciones de lenguaje de descripción de interfaz (IDL); por lo tanto, los programadores pueden conectar sus funciones personalizadas al marco y conectarlo con otros componentes.
El uso más destacado de XPCOM es dentro del navegador web Firefox. Muchos de sus componentes internos interactúan a través de interfaces XPCOM. Además, Firefox solía permitir a los complementos un amplio acceso a XPCOM, pero esto se eliminó en 2017 y se reemplazó con la API WebExtensions menos permisiva. (Tres bifurcaciones de Firefox aún son compatibles con la capacidad de complemento heredada: Pale Moon, Basilisk, Waterfox).
Modelo
XPCOM es una de las principales cosas que hacen que el entorno de aplicaciones de Mozilla sea un marco real. Es un entorno de desarrollo que proporciona las siguientes características para el desarrollador de software multiplataforma:
- Gestión de componentes
- Resumen de archivos
- Mensaje del objeto que pasa
- Gestión de memoria
Este modelo de objetos de componentes hace que prácticamente toda la funcionalidad de Gecko esté disponible como una serie de componentes, o bibliotecas multiplataforma reutilizables, a las que se puede acceder desde el navegador web o crear secuencias de comandos desde cualquier aplicación de Mozilla. Las aplicaciones que deben acceder a las diversas bibliotecas XPCOM de Mozilla (redes, seguridad, DOM, etc.) utilizan una capa especial de XPCOM llamada XPConnect, que refleja las interfaces de la biblioteca en JavaScript u otros lenguajes. XPConnect une la interfaz a los componentes basados en el lenguaje de programación C++, C o Rust en XPCOM, y se puede ampliar para incluir compatibilidad con secuencias de comandos para otros lenguajes: PyXPCOM ya ofrece compatibilidad con Python. PerlConnect y plXPCOM brindan soporte para Perl, y se están realizando esfuerzos para agregar soporte de lenguaje Common Language Infrastructure (CLI) y Ruby para XPConnect.
Para los desarrolladores, XPCOM permite escribir componentes en C++, C, JavaScript, Python u otros lenguajes para los que se han creado enlaces especiales, y compilar y ejecutar esos componentes en docenas de plataformas diferentes, incluidas estas y otras en las que se admite Mozilla..
La flexibilidad para reutilizar los componentes XPCOM de la biblioteca Gecko y desarrollar nuevos componentes que se ejecutan en diferentes plataformas facilita el desarrollo rápido de aplicaciones y da como resultado una aplicación que es más productiva y fácil de mantener. La biblioteca de redes, por ejemplo, es un conjunto de componentes XPCOM a los que se puede acceder y utilizar cualquier aplicación de Mozilla. La E/S de archivos, la seguridad, la gestión de contraseñas y los perfiles también son componentes independientes de XPCOM que los programadores pueden utilizar en el desarrollo de sus propias aplicaciones.
Uso excesivo en el pasado
XPCOM agrega una gran cantidad de código para clasificar objetos y, en la era de Netscape, XPCOM se usaba en exceso para las interfaces internas donde no era realmente necesario, lo que generaba un exceso de software. Esta fue una razón clave por la que en 2001 Apple bifurcó KHTML, no Gecko, para crear el motor WebKit para su navegador Safari.
Desde entonces, Mozilla ha limpiado parte del exceso de XPCOM. En 2008, esto combinado con otros esfuerzos dio como resultado grandes mejoras en el rendimiento de Gecko.
Contenido relacionado
EPROM
Algoritmo fonético
Jpeg