Blinkvs。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。它主要由以下部分组成:bmalloc : WebKit 的 malloc 实现作为碰撞指针分配器。 它提供了一个重要的安全特性,称为 IsoHeap,它将每种类型的对象隔离到自己的页面中,以防对释放后使用的类型混淆攻击。WTF : WebKit 的模板库。 WebKit 代码库的其余部分是使用此模板库构建的,除了 C++ 标准库中的类似类模板之外,而且通常会代替 C++ 标准库中的类似类模板。 它包含常见的容器类,如 Vector、HashMap(无序)、HashSet,以及智能指针类型,如 Ref、RefPtr 和 WeakPtr,它们在 WebKit 的其余部分中使用。JavaScriptCore : WebKit 的 JavaScript 引擎,缩写为 JSC。 JSC 解析 JavaScript 并生成字节码。WebCore : WebKit 最大的组件,实现了大部分 Web API 及其行为。 最重要的是实现了 HTML、XML 和 CSS 解析器等。 它还实现了目前唯一一个CSS JIT。WebKitLegacy(又名 WebKit1):在单个进程中将 WebCore 与操作系统连接起来,并在 macOS 上实现 WebView,在 iOS 上实现 UIWebView。WebKit (又名 WebKit2) : 实现了 WebKit 的多进程架构,并在 macOS 和 iOS 上实现了 WKWebView。WebInspector / WebDriver: WebKit 的开发工具和 Web 开发人员的自动化工具。4.深入理解Blink
Blink 是一个由 Google主导开发的开源 浏览器排版引擎, Google计划将这个渲染引擎作为 Chromium计划的一部分。其代码贡献来自 Google、 Facebook、 Microsoft、 Opera Software、 Adobe Systems、 Intel、 IBM、 Samsung等诸多大型公司,并于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/
手表男款买什么品牌好?一万元以下,天梭美度汉米尔顿。2万元以下,浪琴。5万元以下,欧米茄帝舵。5万10万,通勤表劳力士恒动,正装表万国积家入门级,运动表宝珀五十噚入门级!10万20万,运动表宝珀五十噚复
脸部肤色不均匀,晦暗怎么办呢?首先看看是不是身体五脏有什么问题,脾虚就会导致肤色黄,肝郁导致肤色暗沉,气血不足导致肤色没有光彩,先解决身体内部问题,方可有一个美丽的容颜。其次可以使用优质化妆品,比如日韩牌子的,
女性月经期间要喝红糖水,这个说法对吗?对于很多女性来说,红糖水是自己的好伴侣,尤其是来姨妈经的时候,很多女性都喜欢用红糖水去缓解痛经,至于有没有效,其实是没有一致答案的,有的人觉得,在经期不能够喝红糖水,但是又有人反对
哪里的美食最好吃?美食没有绝对的定义,都认为自己地方美食最好,众口难调,适合自己口味都是最好吃的!各地方都有属于自己最好吃的美食!每个地方都有自己的特色美食,北京烤鸭,天津煎饼果子,东北乱炖,河南烩
柳州让你最难忘的美食是什么?柳州名扬广西,甚至全国的美食自然是螺蛳粉了,但我不太喜爱螺蛳粉。我曾多次到柳州,因为我有个舅父在柳州,住青云路,在鱼峰山一市场租铺口专卖酸嘢,这种种酸嘢都是舅母自制的,那各种酸嘢都
馒头发好面后,却蒸出一锅硬馒头,是什么原因呢?馒头蒸出来硬硬的可能是没有按照正确的办法来制作!白馒头是北方人的主食,一日三餐离不开,如何蒸出一锅喧软的白白胖胖的馒头,除了把握好水分酵母外,揉面和醒发是关键。白馒头主料中筋面粉1
经典玉林炒牛杂三杯鲱鱼煲的专业做法流程是什么?答感谢邀请,东方美食三十多年主要致力于为全球餐饮行业人士服务,全方案解决问题。经典玉林炒牛杂成本10元售价25元日售30份卖点一般的炒制牛杂羊杂类菜品都需要提前过水或者过油。但是此
不打算买车也一定要考个驾照吗?以后说不定用的着,现在c2自动挡也简单,过几年貌似手动挡的车就不存在了吧。但是想等全民不用驾照,完全自动驾驶估计最少还得五十年大笑那必须的,就说你不打算出远门买机票住酒店就不办身份
经期能做和不能做的事情有哪些?对于女人来说,有一件事是每个月都需要经历的,它就是月经,而且有时候还不能安然无恙的度过,总会有一些小状况出现。月经是女性身体健康的晴雨表,虽说有的女性对于来月经恨的牙痒痒的,但又不
有什么事情是南方人到了北方才知道的?冬天冷到什么程度大雪是什么样子,是南方人到了北方以后才知道的。冷啊!由于冷产生惰性,由于惰性固化思维,由于思维单一,不思进取,由于不进取导致贫穷落后。不对吗?南方人到了北方第一感觉
20万出头买凯美瑞还是雅阁?为什么不考虑英菲尼迪Q50?你是不是想让我肯定你选英菲尼迪Q50?国内的话,二手Q50还有戏,新车只有Q50L。我查了下,尽管目前经销商报价能到20万出头,但是豪华品牌可就是豪华品牌,保养费用不会和普通车型相