fbpx
维基百科

XPCOM

跨平台组件对象模型(英語:Cross Platform Component Object Model,简称XPCOM)是Mozilla的一个跨平台组件模型。它类似微软的组件对象模型(COM)和公共对象请求代理体系结构(CORBA)。[1]它有多个语言绑定接口描述语言(IDL)描述符,因此程序员可以将自己的自定义函数插入到框架中并与其他组件连接。

2015年8月,Mozilla宣布将放弃为创建Firefox附加组件而使用的XPCOM,未来将支持WebExtensions[2]Firefox的分支苍月浏览器(Pale Moon)则将继续无限期的支持XPCOM。[3]

模型 编辑

XPCOM的一项主要目的是将Mozilla应用程序环境做成一个实际的框架。它为跨平台软件的开发人员提供一个有下列特性的开发环境:

组件对象模型使Gecko的几乎所有功能可作为一系列组件或可重用的跨平台函式庫使用,它可以通过网页浏览器或任何Mozilla应用程序的脚本使用。应用程序必须访问各个Mozilla XPCOM程式库(网络安全DOM等)以使用XPCOM的一个被称为XPConnect的特殊层,这将程式库反射到JavaScript或其他语言。XPConnect基于XPCOM中的组件,将前端胶合为C++C编程语言,并且可以扩展为包含对其他脚本语言的支持:PyXPCOM英语PyXPCOM已提供对Python的支持。PerlConnect[4]和plXPCOM[5] 提供对Perl的支持,并且仍在努力增加通用语言架构(CLI)和Ruby语言对XPConnect支持。

对开发者来说,XPCOM允许使用C++CJavaScriptPython等已提供“绑定”的语言编写组件,并可在几十个Mozilla支持的平台上编译和运行这些组件。

灵活的重用来自Gecko程式库的XPCOM组件和开发能运行在不同平台的新组件有助于快速應用程式開發,并能使应用程序更高效和易于维护。例如,XPCOM组件集中的网络程式库就可以被任何Mozilla应用程序访问和使用。文件I/O、安全、密码管理以及配置文件也都有单独的XPCOM组件,程序员可以在开发自己的应用程序时使用。

批评 编辑

XPCOM为不同使用上下文(例如不同语言)下的编组英语Marshalling (computer science)对象添加了大量代码。这导致XPCOM中基于系统的代码出现膨胀英语Software bloat。这也是蘋果公司复刻KHTML(现在已被多个网页浏览器使用,包括Safari)来创建WebKit引擎而非在其浏览器中采用基于XPCOM的Gecko渲染引擎的原因之一。[6][7]

Gecko的开发人员目前正在尝试减少Gecko排版引擎中XPCOM的过剩使用。此过程在Mozilla内通常被称为deCOMtamination[8]

参见 编辑

  • XULRunner – XULRunner是一个运行时,它的用途是启动多个像Firefox和Thunderbird那样的XUL + XPCOM的应用程序。

参考资料 编辑

  1. ^ Comparison with COM, GObject, SOM, Objective-C, Windows Runtime
  2. ^ Kev Needham. The Future of Developing Firefox Add-ons. 2015-08-21 [2015-09-07]. (原始内容于2015-09-05). 
  3. ^ . Pale Moon. 2016-05-09 [2016-06-08]. (原始内容存档于2021-04-01). 
  4. ^ . [2016-12-12]. (原始内容存档于2009-07-01). 
  5. ^ . [2016-12-12]. (原始内容存档于2018-12-04). 
  6. ^ Jorge O. Castro. Ars Technica sits down with Scott Collins from Mozilla.org. Ars Technica. June 15, 2004 [2016-12-12]. (原始内容于2011-12-23). 
  7. ^ Ryan Paul. Why Mozilla is committed to Gecko as WebKit popularity grows. Ars Technica. September 9, 2008 [2016-12-12]. (原始内容于2012-02-11). 
  8. ^ . [2016-12-12]. (原始内容存档于2021-03-29). 

外部链接 编辑

xpcom, 此條目翻譯自其他語言維基百科, 需要相關領域的編者協助校對翻譯, 如果您精通本領域, 又能清楚地將來源語言翻譯為中文, 歡迎您協助校訂翻譯, 原文参见维基数据, 跨平台组件对象模型, 英語, cross, platform, component, object, model, 简称, 是mozilla的一个跨平台组件模型, 它类似微软的组件对象模型, 和公共对象请求代理体系结构, corba, 它有多个语言绑定和接口描述语言, 描述符, 因此程序员可以将自己的自定义函数插入到框架中并与其他组件连接, . 此條目翻譯自其他語言維基百科 需要相關領域的編者協助校對翻譯 如果您精通本領域 又能清楚地將來源語言翻譯為中文 歡迎您協助校訂翻譯 原文参见维基数据 跨平台组件对象模型 英語 Cross Platform Component Object Model 简称XPCOM 是Mozilla的一个跨平台组件模型 它类似微软的组件对象模型 COM 和公共对象请求代理体系结构 CORBA 1 它有多个语言绑定和接口描述语言 IDL 描述符 因此程序员可以将自己的自定义函数插入到框架中并与其他组件连接 2015年8月 Mozilla宣布将放弃为创建Firefox附加组件而使用的XPCOM 未来将支持WebExtensions 2 Firefox的分支苍月浏览器 Pale Moon 则将继续无限期的支持XPCOM 3 目录 1 模型 2 批评 3 参见 4 参考资料 5 外部链接模型 编辑XPCOM的一项主要目的是将Mozilla应用程序环境做成一个实际的框架 它为跨平台软件的开发人员提供一个有下列特性的开发环境 组件管理 文件抽象 对象消息传递 内存管理组件对象模型使Gecko的几乎所有功能可作为一系列组件或可重用的跨平台函式庫使用 它可以通过网页浏览器或任何Mozilla应用程序的脚本使用 应用程序必须访问各个Mozilla XPCOM程式库 网络 安全 DOM等 以使用XPCOM的一个被称为XPConnect的特殊层 这将程式库反射到JavaScript或其他语言 XPConnect基于XPCOM中的组件 将前端胶合为C 或C编程语言 并且可以扩展为包含对其他脚本语言的支持 PyXPCOM 英语 PyXPCOM 已提供对Python的支持 PerlConnect 4 和plXPCOM 5 提供对Perl的支持 并且仍在努力增加通用语言架构 CLI 和Ruby语言对XPConnect支持 对开发者来说 XPCOM允许使用C C JavaScript Python等已提供 绑定 的语言编写组件 并可在几十个Mozilla支持的平台上编译和运行这些组件 灵活的重用来自Gecko程式库的XPCOM组件和开发能运行在不同平台的新组件有助于快速應用程式開發 并能使应用程序更高效和易于维护 例如 XPCOM组件集中的网络程式库就可以被任何Mozilla应用程序访问和使用 文件I O 安全 密码管理以及配置文件也都有单独的XPCOM组件 程序员可以在开发自己的应用程序时使用 批评 编辑XPCOM为不同使用上下文 例如不同语言 下的编组 英语 Marshalling computer science 对象添加了大量代码 这导致XPCOM中基于系统的代码出现膨胀 英语 Software bloat 这也是蘋果公司复刻KHTML 现在已被多个网页浏览器使用 包括Safari 来创建WebKit引擎而非在其浏览器中采用基于XPCOM的Gecko渲染引擎的原因之一 6 7 Gecko的开发人员目前正在尝试减少Gecko排版引擎中XPCOM的过剩使用 此过程在Mozilla内通常被称为deCOMtamination 8 参见 编辑 nbsp 自由软件主题 XULRunner XULRunner是一个运行时 它的用途是启动多个像Firefox和Thunderbird那样的XUL XPCOM的应用程序 参考资料 编辑 Comparison with COM GObject SOM Objective C Windows Runtime Kev Needham The Future of Developing Firefox Add ons 2015 08 21 2015 09 07 原始内容存档于2015 09 05 Pale Moon future roadmap Pale Moon 2016 05 09 2016 06 08 原始内容存档于2021 04 01 module ownership governance system 2016 12 12 原始内容存档于2009 07 01 Perl XPCOM project 2016 12 12 原始内容存档于2018 12 04 Jorge O Castro Ars Technica sits down with Scott Collins from Mozilla org Ars Technica June 15 2004 2016 12 12 原始内容存档于2011 12 23 Ryan Paul Why Mozilla is committed to Gecko as WebKit popularity grows Ars Technica September 9 2008 2016 12 12 原始内容存档于2012 02 11 Gecko DeCOMtamination 2016 12 12 原始内容存档于2021 03 29 外部链接 编辑查看维基词典中的词条 xpcom XPCOM API Reference 页面存档备份 存于互联网档案馆 XPCOM Project Homepage 页面存档备份 存于互联网档案馆 A slightly out of date but still useful book that talks about XPCOM 页面存档备份 存于互联网档案馆 A Simple XPCOM Tutorial 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title XPCOM amp oldid 71704565, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。