2024年3月21日发(作者:)

XPCOM 指南

—XPCOM概述

XPCOM概览

本章为XPCOM的快速导览,对XPCOM和组件开发的基础思想和技术做了说明,这

些说明从较高层次来描述的,只是为了熟悉一下本指南需要的一些背景知识。

1. XPCOM 解决方案

XPCOM ( Cross Platform Component Object Model),是一个跨平台的软件框架,

它使开发人员把一个大的软件工程分解成各个小的独立的模块,然后再运行时再组装在一

起,这就是组件化的思想。

XPCOM的目标是让不同开发者独立开发实现相应的软件片段(组件)。 为了解决应

用程序里各组件之间的互连问题,XPCOM把组件的实现和接口分离开来(相关主题在

Interface[/en-US/docs/Creating_XPCOM_Component

s/An_Overview_of_XPCOM#Interfaces] 章节讨论),XPCOM也提供了几个工具和库,

以便加载和维护这些组件,服务,帮助开发者写模块化的跨平台的代码和版本支持,因此

组件可以进行不中断替换和升级。 使用XPCOM,开发者创建的组件可以在不同的应用程

序里重用。

XPCOM不仅仅支持组件化软件开发,他也提供了很多开发平台提供的功能,例如:

* 组件管理 ( component management )

* 抽象文件 ( file abstraction )

* 对象消息传输 ( object message passing )

* 内存管理 ( Memory management )

我们会在下面的章节对上面列表项的细节进行讨论,XPCOM作为一个组件开发平台,

这些功能是很有必要的。

2. Gecko

尽管XPCOM在某些方面与Microsoft COM相似,但是她主要还是被设计为应用级

别。 在Gecko里XPCOM得到了最重要的应用,Gecko是一个开源的,符合标准的,嵌

入式Web浏览器和工具包,可以通过Gecko创建Web 浏览器和其他应用。

XPCOM提供了访问Gecko库的方法,并且可以对Gecko进行扩展,甚至把Gecko

嵌入到其他程序。本指南主要聚焦Gecko的扩展,但是用到的一些方法同样适用于Gecko

的嵌入使用。

Gecko被用于很多internet应用程序,主要是浏览器,最重要的一个例子就是 Mozilla

Firefox。

3. 组件