Apple Webkit:修订间差异
小 云云移动页面Apple Blink至Apple Webkit:标题有错别字:卧槽写错了 |
IdleTap-bot(留言 | 贡献) 由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行) |
||
| (未显示另一用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
{{Infobox | {{Infobox | ||
| | | title = WebKit | ||
| | |||
| label1 = 中文名 | |||
| data1 = WebKit | |||
| label2 = 开发方 | |||
| data2 = [[Apple Inc.]]、[[KDE]]、[[Google]]、[[Nokia]]、[[Igalia]]等<ref name=":0" /><ref name=":1" /> | |||
| label3 = 首次发布 | |||
| data3 = 1998年11月4日(KHTML发布)<br>2005年6月7日(WebKit开源)<ref name=":1" /> | |||
| label4 = 编程语言 | |||
| data4 = [[C++]]<ref name=":0" /> | |||
| label5 = 操作系统 | |||
| data5 = [[macOS]]、[[iOS]]、[[Linux]]、[[Windows]]<ref name=":0" /> | |||
| label6 = 类型 | |||
| data6 = 浏览器引擎 | |||
| label7 = 许可协议 | |||
| data7 = [[LGPLv2.1]](WebCore、JavaScriptCore)<br>[[BSD许可证|BSD 2-Clause]](Apple贡献部分)<ref name=":0" /><ref name=":2" /> | |||
| label8 = 网站 | |||
| data8 = [https://webkit.org webkit.org] | |||
}} | }} | ||
'''WebKit'''是[[Apple Inc.|Apple]]主导开发的开源[[浏览器引擎]],主要用于[[Apple Safari]]浏览器,同时也是[[iOS]]和[[iPadOS]]平台上所有网页浏览器的底层渲染引擎<ref name=":0">[https://en.wikipedia.org/wiki/WebKit WebKit — English Wikipedia]</ref><ref name=":2">[https://developer.mozilla.org/en-US/docs/Glossary/WebKit WebKit — MDN Web Docs Glossary]</ref>。WebKit最初源自[[KDE]]项目的[[KHTML]]排版引擎和KJS | '''WebKit'''是[[Apple Inc.|Apple]]主导开发的开源[[浏览器引擎]],主要用于[[Apple Safari]][[浏览器]],同时也是[[iOS]]和[[iPadOS]]平台上所有[[网页浏览器]]的底层渲染引擎<ref name=":0">[https://en.wikipedia.org/wiki/WebKit WebKit — English Wikipedia]</ref><ref name=":2">[https://developer.mozilla.org/en-US/docs/Glossary/WebKit WebKit — MDN Web Docs Glossary]</ref>。WebKit最初源自[[KDE]]项目的[[KHTML]]排版引擎和KJS [[Java]]Script引擎的一个分支<ref name=":0" /><ref name=":3">[https://zh.wikipedia.org/wiki/WebKit WebKit — 维基百科(中文)]</ref>,自2005年正式开源以来,已由KDE贡献者、[[Apple]]、[[Google]]、[[Nokia]]、[[BlackBerry]]、[[Sony]]及[[Igalia]]等众多组织和个人持续开发完善<ref name=":0" /><ref name=":1">[https://baike.baidu.com/item/WebKit WebKit — 百度百科]</ref>。WebKit的[[Blink]]分支被用于[[Google Chrome]]、[[Microsoft Edge]]等基于[[Chromium]]的浏览器<ref name=":3" /><ref name=":4">[https://zh.wikipedia.org/wiki/Blink Blink — 维基百科(中文)]</ref>。 | ||
== 历史 == | == 历史 == | ||
| 第40行: | 第39行: | ||
=== 跨平台扩展与广泛应用 === | === 跨平台扩展与广泛应用 === | ||
开源后的WebKit逐渐被多个平台采用。它成为[[macOS]]和[[iOS]]系统内置的浏览器引擎框架,被Safari、Mail、备忘录、图书、新闻和App Store等众多Apple原生应用使用<ref name=":6">[https://docs.webkit.org/ WebKit 官方文档 — WebKit.org]</ref>。此外,WebKit还被用于[[PlayStation 3]]及后续PlayStation游戏机、[[Tizen]]移动操作系统、[[Amazon Kindle]]电子书阅读器、[[Nintendo 3DS]]浏览器以及已停用的[[BlackBerry]]浏览器等设备<ref name=":0" />。 | 开源后的WebKit逐渐被多个平台采用。它成为[[macOS]]和[[iOS]]系统内置的浏览器引擎框架,被Safari、Mail、备忘录、图书、新闻和App Store等众多Apple原生应用使用<ref name=":6">[https://docs.webkit.org/ WebKit 官方文档 — WebKit.org]</ref>。此外,WebKit还被用于[[PlayStation 3]]及后续PlayStation游戏机、[[Tizen]]移动[[操作系统]]、[[Amazon Kindle]]电子书阅读器、[[Nintendo 3DS]]浏览器以及已停用的[[BlackBerry]]浏览器等设备<ref name=":0" />。 | ||
=== Blink分支(2013年) === | === Blink分支(2013年) === | ||
2013年4月3日 | 2013年4月3日,[[Go]]ogle宣布将WebKit的WebCore组件分叉,创建名为[[Blink]]的独立渲染引擎,用于未来版本的Google [[Chrome]]和[[Opera]]浏览器<ref name=":0" /><ref name=":4" />。这一分支的诞生主要源于WebKit与Chrome之间日益增加的复杂性,Google希望通过分叉来简化[[架构]]并加速开发<ref name=":4" /><ref name=":7">[https://www.36kr.com/p/203617906626560 Google将在10周内用新的渲染引擎Blink取代旗下所有平台的现有浏览器 — 36氪]</ref>。此后,Blink被广泛应用于所有基于Chromium的浏览器,包括[[Microsoft]] [[Edge]]、[[Vivaldi]]、[[Yandex Browser]]等<ref name=":4" />。 | ||
== 核心架构 == | == 核心架构 == | ||
| 第60行: | 第59行: | ||
=== WebKit2 === | === WebKit2 === | ||
WebKit2是WebKit的新API层,从底层设计上支持拆分进程模型——网页内容(JavaScript、HTML、布局等)运行在与应用程序UI分离的独立进程中<ref name=":13">[https://trac.webkit.org/wiki/WebKit2 WebKit2 — WebKit Trac]</ref><ref name=":14">[https://docs.webkit.org/ WebKit2 概述 — WebKit.org]</ref>。这一多进程架构通过进程沙箱保护系统安全,并使应用程序即使在加载了无限循环或挂起的网页时仍能保持响应<ref name=":14" />。网页在各自的WebContent进程中加载,多个WebContent进程可共享浏览会话,网络访问、磁盘缓存和[[Web Storage API|Web Storage]]等API则由独立的网络进程统一管理<ref name=":14" />。 | WebKit2是WebKit的新API层,从底层设计上支持拆分进程模型——网页内容(JavaScript、HTML、布局等)运行在与应用程序UI分离的独立进程中<ref name=":13">[https://trac.webkit.org/wiki/WebKit2 WebKit2 — WebKit Trac]</ref><ref name=":14">[https://docs.webkit.org/ WebKit2 概述 — WebKit.org]</ref>。这一多进程架构通过进程沙箱保护系统安全,并使应用程序即使在加载了无限循环或挂起的网页时仍能保持响应<ref name=":14" />。网页在各自的WebContent进程中加载,多个WebContent进程可共享浏览会话,网络访问、磁盘[[缓存]]和[[Web Storage API|Web Storage]]等API则由独立的网络进程统一管理<ref name=":14" />。 | ||
== 许可协议 == | == 许可协议 == | ||
WebKit采用多重许可协议。从KHTML继承的大部分代码沿用[[LGPLv2.1]]许可证,而贡献给WebKit的新代码则采用二条款[[BSD许可证]]<ref name=":15">[https://docs.webkit.org/ Licensing — WebKit.org]</ref><ref name=":16">[https://webkit.org/licensing-webkit/ Licensing WebKit — WebKit.org]</ref>。具体而言,WebCore渲染库和JavaScriptCore引擎 | WebKit采用多重许可协议。从KHTML继承的大部分代码沿用[[LGPLv2.1]]许可证,而贡献给WebKit的新代码则采用二条款[[BSD许可证]]<ref name=":15">[https://docs.webkit.org/ Licensing — WebKit.org]</ref><ref name=":16">[https://webkit.org/licensing-webkit/ Licensing WebKit — WebKit.org]</ref>。具体而言,WebCore渲染库和JavaScriptCore引擎以L[[GPL]]发布,Apple贡献的额外部分以BSD 2-Clause许可发布<ref name=":0" /><ref name=":2" />。WebKit项目旨在保持对开源和专有应用程序的广泛可用性<ref name=":16" />。 | ||
== 使用WebKit的平台与产品 == | == 使用WebKit的平台与产品 == | ||
| 第75行: | 第74行: | ||
* [[PlayStation 3]]及后续PlayStation游戏机内置浏览器 | * [[PlayStation 3]]及后续PlayStation游戏机内置浏览器 | ||
* [[Amazon Kindle]]电子书阅读器浏览器 | * [[Amazon Kindle]]电子书阅读器浏览器 | ||
* [[Nintendo 3DS]]互联网浏览器 | * [[Nintendo 3DS]][[互联网]]浏览器 | ||
* [[Tizen]]移动操作系统默认浏览器 | * [[Tizen]]移动操作系统默认浏览器 | ||
* [[BlackBerry]]浏览器(已停用) | * [[BlackBerry]]浏览器(已停用) | ||