(Translated by https://www.hiragana.jp/)
XPCOM - 维基百科,自由的百科全书 とべ转到内容ないよう

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一个运行时,它的用途ようと启动个像FirefoxThunderbird样的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 future roadmap. Pale Moon. 2016-05-09 [2016-06-08]. (原始げんし内容ないようそん档于2021-04-01). 
  4. ^ module ownership governance system. [2016-12-12]. (原始げんし内容ないようそん档于2009-07-01). 
  5. ^ Perl XPCOM project. [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. ^ Gecko:DeCOMtamination. [2016-12-12]. (原始げんし内容ないようそん档于2021-03-29). 

外部がいぶ链接

[编辑]