Apple Webkit:修订间差异

TeodoroSeccombe​(留言 | 贡献)
小 创建页面,内容为“。”
IdleTap-bot​(留言 | 贡献)
由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行)
 
第1行: 第1行:
果园编程工作室(Orchard Programming Studio)是一家专注于编程技术研发与创意实现的青少年编程团队<ref name=":1">[https://gybc.top/home/ 果园编程官方网站 | 青少年Scratch编程团队 | 用心每一作,发展每一天]</ref><ref name=":2" />。工作室成立于2020年2月,是由青少年自发创建的青少年编程项目,是非营利性质的团队。
{{Infobox
| title = WebKit


{| class="infobox"
| label1 = 中文名
|-
| data1 = WebKit
| '''果园编程工作室'''
|-
| 全称 || 果园编程工作室
|-
|简称
|果园编程
|-
|Logo
|[[File:果园编程 Logo.png|缩略图|果园编程工作室的logo]]
|-
| 英文名称 || Orchard Programming Studio / Guoyuancode<ref name=":0">https://gybc.top/my/</ref>
|-
| 成立时间 || 2020年2月
|-
| 网站 || [https://gybc.top gybc.top]
|-
| 创始人 || 果园<ref name=":0" />
|-
| 核心阵地 || [[共创世界(CCW)|CCW(共创世界)平台]]、[[腾讯QQ|QQ]]社群、[[果园编程官方网站|果园编程主站]]<ref name=":1" />、[[果园编程站点|果园编程副站]]<ref name=":2">[https://www.gystu.top/ 果园编程站点]</ref>
|}


== 发展历程 ==
| label2 = 开发方
在果园编程的自述中,历程被描述为“从一次突发奇想到一群人的共同理想,每一步都是对初心的回应”。
| data2 = [[Apple Inc.]]、[[KDE]]、[[Google]]、[[Nokia]]、[[Igalia]]等<ref name=":0" /><ref name=":1" />


=== 2020年 ===
| label3 = 首次发布
果园(现果园编程室长)创立了“ABCUI工作室”,最初,这只是一个名义上的工作室<ref name=":3">[https://gybc.top/about/ 关于我们 - 果园编程 | 青少年工作室]</ref>。在慧编程开始创作<ref name=":4">[https://www.gystu.top/about/index.html 果园编程工作室 - 关于我们]</ref>。
| data3 = 1998年11月4日(KHTML发布)<br>2005年6月7日(WebKit开源)<ref name=":1" />


=== 2021年 ===
| label4 = 编程语言
果园独立开发了《[[Windows(操作系统)|Windows]] 10模拟器》,并发布在“慧编程”少儿编程([[Scratch(全球少儿图形化编程语言)|Scratch]])[[Scratch社区|社区]]<ref name=":5">[https://eu.mblock.makeblock.com/ 慧编程作品社区]</ref><ref name=":3" />。随着其作品不断完善,一批志同道合的成员加入了团队<ref name=":4" />。
| data4 = [[C++]]<ref name=":0" />


=== 2022年-2023年 ===
| label5 = 操作系统
团队的影响力呈整体增长上升,在“慧编程”少儿编程([[Scratch(全球少儿图形化编程语言)|Scratch]])社区的工作室排名获得第四名<ref name=":5" />;此时的果园筹备加入[[共创世界(CCW)|共创世界]],尝试在[[共创世界(CCW)|共创世界]]上发布作品。
| data5 = [[macOS]]、[[iOS]]、[[Linux]]、[[Windows]]<ref name=":0" />


=== 2024年 ===
| label6 = 类型
面对少儿编程/青少年编程圈的变化,果园(室长)将团队带领迁移至[[共创世界(CCW)|共创世界]]作为主阵地<ref>[https://www.ccw.site/student/61ef9efe4449842875d8f7fe 果园的主页 - 共创世界(ccw.site) - Scratch、游戏、动画、漫画、小说、编程创作社区]</ref><ref>[https://www.ccw.site/detail/65ae27feba39481f1fa7fa70?inviteCode=CaelLab&section=engineer 【潜力】物理旅行者-开发中(第3阶段第95次修订)-共创世界]
| data6 = 浏览器引擎


其作品首次发布于2024年上旬</ref><ref>果园在2022年发布了第一个在共创世界的作品,[https://www.ccw.site/student/61ef9efe4449842875d8f7fe/%E5%85%A8%E9%83%A8%E4%BD%9C%E5%93%81 果园的主页 - 共创世界(ccw.site) - Scratch、游戏、动画、漫画、小说、编程创作社区]</ref><ref name=":3" />。
| label7 = 许可协议
| data7 = [[LGPLv2.1]](WebCore、JavaScriptCore)<br>[[BSD许可证|BSD 2-Clause]](Apple贡献部分)<ref name=":0" /><ref name=":2" />


=== 2025年 ===
| label8 = 网站
果园编程的“[[上古米歇尔]]”购买了gystu.top,作为“果园编程副站”<ref>whois查询:https://site.caellab.com/gystu.top</ref>。
| data8 = [https://webkit.org webkit.org]
}}


果园编程发布了“[[Hy Waver OS]]”V 0.1.8Alpha
'''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>。


=== 2026年 ===
== 历史 ==
果园编程的“果园(室长)<ref>因whois隐私保护的原因,仅疑似信息</ref>”购买了gybc.top,作为“果园编程官方网站(也成为主站)”<ref>whois查询<nowiki/>https://site.caellab.com/gybc.top</ref>。


果园编程副站新增了“[[果园编程wiki]]”板块,用于归档编程相关知识,及作为对外提供的知识库。
=== 起源与早期发展 ===


果园编程创始人“果园”在2026-04-25完成了[[物理旅行者 (Physics Traveler)|物理旅行者]]的最后更新。<ref>[https://wiki.gystu.top/zh/%E6%9E%9C%E5%9B%AD%E7%BC%96%E7%A8%8B/%E4%BA%A7%E5%93%81%E5%88%97%E8%A1%A8/%E3%80%8A%E7%89%A9%E7%90%86%E6%97%85%E8%A1%8C%E8%80%85%E3%80%8B 物理旅行者 (Physics Traveler) | 果园编程wiki]</ref>
WebKit的起源可追溯至[[KDE]]项目于1998年开发的KHTML排版引擎和KJS JavaScript引擎<ref name=":0" /><ref name=":1" />。2001年,Apple工程师Don Melton正式从KHTML分支,在Apple内部启动浏览器引擎的研发工作<ref name=":5">[https://developer.aliyun.com/article/1576072 WebKit简介及工作流程 — 阿里云开发者社区]</ref>。Apple在当时比较了[[Mozilla Firefox|Firefox]]的[[Gecko]]引擎与KHTML引擎后,选择了后者,因其拥有更清晰的源码结构和更快的渲染速度<ref name=":1" /><ref name=":5" />。


== 其他 ==
2003年,Apple推出了搭载WebKit引擎的[[Safari]]浏览器<ref name=":5" />。2005年6月7日,Apple宣布WebKit正式开源,向社区开放其源代码<ref name=":0" /><ref name=":1" />。
此条目'''需要补充更多'''内容。


== 与虚舟实验室的关系 ==
=== 跨平台扩展与广泛应用 ===
'''2025年7月5日前后,'''云云在果园编程内部群提出建立子品牌'''[[虚舟实验室(CaelLab)|虚舟实验室]]''',经果园编程室长批准后成立,初始外文名称定为XuZhouLab,并注册对应域名[https://Xuzhoulab.cn xuzhoulab.cn]。


'''2025年7月下旬-8月上旬,'''因团队管理规则分歧,'''[[虚舟实验室(CaelLab)|虚舟实验室]]'''数次违反了(当时)果园编程子品牌管理条例,双方产生矛盾与冲突。
开源后的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" />。


<gallery>
=== Blink分支(2013年) ===
File:14dcfafb0560a69b986a5e5fabc23635.jpg|gystu.top规则中心截断截图1
File:Bdc1ffd21f2eba5ab63dc469b3392ab1.jpg|gystu.top规则中心截断截图2
File:A8d1ffbe733599262666ccff62a06b7e.jpg|gystu.top规则中心截断截图3
</gallery>


'''2025年8月13日'''
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" />。
双方协商一致,'''[[虚舟实验室(CaelLab)|虚舟实验室]]'''正式脱离果园编程工作室,不再为从属子品牌<ref name=":0" />。


'''2025年8月下旬'''
== 核心架构 ==
多名原生态成员离开'''[[虚舟实验室(CaelLab)|虚舟实验室]]'''平台,并迁移内容至个人站点。后续果园编程官方发布的澄清声明中出现侮辱性链接与邮箱,'''[[虚舟实验室(CaelLab)|虚舟实验室]]'''就此提出公开指控。果园编程创始人删除相关违规页面后,'''[[虚舟实验室(CaelLab)|虚舟实验室]]'''宣布终止追责<ref>[https://x.caellab.com/caelllab/98/ 关于果园编程工作室在指控虚舟实验室过程中使用侮辱性举报邮箱及网页的声明]</ref><ref>[https://x.caellab.com/caelllab/124/ 虚舟实验室关于暂停追责果园编程工作室的声明]</ref>。
 
WebKit的架构主要由两大部分组成:渲染引擎(WebCore)和JavaScript引擎(JavaScriptCore)<ref name=":8">[https://baike.baidu.com/item/WebKit/1467841 WebKit(开源的浏览器引擎)— 百度百科]</ref><ref name=":9">[https://cloud.tencent.com/developer/article/2305305 WebKit架构深度探索 — 腾讯云]</ref>。
 
=== WebCore ===
 
WebCore是WebKit的渲染引擎核心,负责解析[[HTML]]和[[CSS]]文档、构建[[文档对象模型|DOM]]树和[[CSSOM]]树、执行布局计算以及将网页内容绘制到屏幕上<ref name=":8" /><ref name=":9" />。WebCore直接源自KDE的KHTML引擎<ref name=":0" />。
 
=== JavaScriptCore(Nitro) ===
 
JavaScriptCore(也称为Nitro或SquirrelFish)是WebKit内置的[[JavaScript]]引擎<ref name=":9" /><ref name=":10">[https://zh.wikipedia.org/wiki/ECMAScript%E5%BC%95%E6%93%8E%E5%88%97%E8%A1%A8 ECMAScript引擎列表 — 维基百科(中文)]</ref>,最初从KDE的KJS引擎派生而来<ref name=":0" />。JavaScriptCore是一个优化虚拟机,由词法分析器、解析器、启动解释器(LLInt)、基线JIT、低延迟优化JIT(DFG)和高吞吐量优化JIT(FTL)等构建块组成<ref name=":11">[https://docs.webkit.org/ JavaScriptCore 文档 — WebKit.org]</ref>。Apple通过引入[[LLVM]] JIT技术,持续提升了Nitro引擎的性能<ref name=":12">[https://www.infoq.cn/article/apple-webkit-js-engine-llvm 苹果用LLVM JIT提升WebKit JS引擎的速度 — InfoQ]</ref>。
 
=== 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" />。
 
== 许可协议 ==
 
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引擎的平台和产品<ref name=":0" /><ref name=":3" />:
 
* [[Apple Safari]](macOS、iOS、iPadOS)
* [[iOS]]和[[iPadOS]]平台上的所有网页浏览器(因Apple政策限制)
* [[Apple Mail]]、备忘录、图书、新闻、App Store等macOS/iOS原生应用
* [[PlayStation 3]]及后续PlayStation游戏机内置浏览器
* [[Amazon Kindle]]电子书阅读器浏览器
* [[Nintendo 3DS]][[互联网]]浏览器
* [[Tizen]]移动操作系统默认浏览器
* [[BlackBerry]]浏览器(已停用)


== 参考文献 ==
== 参考文献 ==
<references />