Blink vs. WebKit!苹果放开内核限制?

家好,很高兴又见面了,我是"高级前端 进阶 ",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!

高级前端 进阶

前言

监管机构和开发商一直在批评苹果对 iOS 的诸多限制,包括:要求所有浏览器使用苹果的 WebKit 引擎。 随着诸多监管机构也在反对苹果的一些不合理政策,一些人可能已经在为一个限制较少的 iOS 环境做准备,比如Google。

Chromium Bug Tracker表明目前正在构建一个基于 Blink 的新 iOS 浏览器,虽然这可能违反苹果关于平台上浏览器都使用 WebKit 的规定。 虽然谷歌坚称该项目只是一个实验,但是在网上却掀起了轩然大波。

Google Blink vs. Apple WebKit

谷歌的这项举措表明,它可能已经在等着苹果关于 WebKit 规则的变化,因为监管机构和开发人员最近几个月对该规则进行了越来越多的审查。 如果 Apple 允许使用其他浏览器引擎,那么 Google 准备一个具有增强功能的浏览器引擎就会是提前的商业布局。

1.苹果禁令是什么?

Telegram 创始人Pavel Durov声称,Apple 的最新政策在迫使开发者创建单独的应用,这些应用须缴纳 App Store 30% 的销售佣金。 Durov 表示,如果苹果做更多的事情来支持 WebKit 或允许浏览器开发人员使用其他引擎,许多公司就可以通过移动网页提供服务,而不是维护应用程序。

Apple 对浏览器引擎的禁令也受到了英、美、欧盟监管机构的抨击。 欧盟最近颁布的数字市场法案可能会迫使 Apple 在未来几年内允许其他浏览器引擎、或者替代应用程序分发渠道。

虽然Cupertino坚称,其严格的控制使产品对用户来说更安全,同时在上月底公开批评了CMA 关于限制移动浏览器和云游戏的提议(CMA将其标记为反竞争)。但是,迫于外界压力,Apple的临时变卦也不是没有可能。

接下来,将带着大家一起来聊聊这次禁令之争中牵涉到的黑科技。

2.主流浏览器内核有那些?

浏览器内核包括渲染引擎、JS执行引擎,由于JS引擎越来越独立,内核就倾向于只指渲染引擎。渲染引擎是对HTML文档进行解析并将其显示在页面上的工具。它负责获取网页内容(HTML、XML、图像等等)、渲染页面(例如加入CSS等)等等UI相关事务。

主流浏览器内核有那些?

Trident 代表作:IE

由微软开发,并于1997年10月首次在ie 4.0中使用,凭借windows垄断优势,Trident市场占有率一直很高。2011年,从ie 9开始,Trident开始支持HTML5和CSS 3,因此也经常会看到有些网站在浏览时会提示用户,在Internet Explorer 9.0+以上浏览效果更佳。

Gecko 代表作:Mozilla

由Netscape公司Mozilla组织开发。1998年,Netscape与IE浏览器竞争失利之后,成立非正式组织Mozilla,由其开发新一代内核,命名为“Gecko”,也就是Mozilla一直使用的内核。

Gecko的特点是代码完全公开,因此其开发程度很高,全世界的程序员都可以为其编写代码,增加功能。

Webkit 代表作:苹果 & 谷歌旧版本

苹果公司开发的内核,也是其旗下产品Safari浏览器使用的内核。Webkit引擎包含了WebCode排版引擎和JavaScriptCode解析引擎,都是自由软件,在GPL条约下授权,同时支持BSD系统开发。

Chrome、360极速浏览器、搜狗高速浏览器也都是使用Webkit内核。

Blink 代表作:谷歌 & Opera

由Google和Opera Software开发的浏览器排版引擎,Google计算将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月公布了这一消息。这一渲染引擎是开源引擎Webkit中WebCore组件的一个分支,并且在Chrome(>=28)、Opera(>=15)浏览器中使用。

3.深入理解Webkit引擎

WebKit 是一个开源的 Web 浏览器引擎。 它是 macOS 和 iOS 中的一个框架,被许多三方应用程序使用,包括 Safari、Mail、Notes、Books、News 和 App Store等。

WebKit 代码库主要是用 C++ 编写的,带有一些 C 和汇编,主要是在 JavaScriptCore 中,还有一些用于与 Cocoa 平台集成的 Objective-C。它主要由以下部分组成:

4.深入理解Blink

Blink是一个由Google主导开发的开源浏览器排版引擎Google计划将这个渲染引擎作为Chromium计划的一部分。其代码贡献来自GoogleFacebookMicrosoftOpera SoftwareAdobe SystemsIntelIBMSamsung等诸多大型公司,并于2013年4月首次发表。

图片来自Hartley Charlton的文章

Blink渲染引擎是开源引擎WebKit中WebCore的一个分支,并且在Chrome(>=28)、Opera(>=15)、Yandex、Vivaldi及Microsoft Edge(>=79)等诸多基于Chromium的浏览器中使用。

Chrome的开发者希望在浏览器的开发上拥有更大的自由度,同时避免与上游冲突、可以通过移除Chrome没有使用的组件而简化程序库,所以Google决定开发WebKit的分支版本。根据提交统计,Google自2009年年底以来一直是WebKit代码库的最大贡献者。

正如Blink的官网所言,Blink一直的使命就是推动开源生态、技术创新!而从Chrome的快速发展来看,Blink也确实做到了!

5.本文总结

本文主要和大家介绍下最近比较火的一个大事,即Google在开发一个基于 Blink 的新 iOS 浏览器,用于应对苹果对于App Store浏览器内核限制的不确定性变化。文章主要从苹果禁令是什么、浏览器内核有那些、 深入理解Webkit 、深入理解Blink四个方面展开,因篇幅问题,没有过多展开。如果有兴趣,文末的参考资料提供了大量优秀文档以供学习。


参考资料

https://www.techspot.com/news/97526-google-building-blink-based-ios-browser-violation-apple.html

https://webkit.org/

https://github.com/WebKit/WebKit/blob/main/Introduction.md

https://zh.wikipedia.org/zh-cn/Blink

https://chromium.googlesource.com/playground/chromium-org-site/+/refs/heads/main/blink/index.md

https://www.macrumors.com/2023/02/04/google-working-on-browser-that-would-break-rules/

https://www.chromium.org/blink/

展开阅读全文

页面更新:2024-03-13

标签:内核   进阶   苹果   禁令   代表作   浏览器   模板   代码   机构   引擎

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top