篇文章没有多少深刻内容,它主要涉及两个问题:WebKit

  t7浏览内核插件怎么安装_js设置浏览器内核_js 浏览文件夹对话框

  这篇文章没有多少深刻内容,它主要涉及两个问题:

  WebKit, Safari, Blink, Chromium, Chrome 之间是什么关系?

  WebKit, Chromium, Android WebView, UIWebView/WKWebView 之间是什么关系?

  不讨论从浏览器输入 URL 到页面展现期间发生了什么js设置浏览器内核,不讨论浏览器是如何运行的,不讨论浏览器的架构。

  浏览器

  更准确的说是 Web 浏览器,即 Web Browser,用于访问万维网(World Wide Web)的计算机软件,支持 HTTP 协议,支持 HTML/CSS/JavaScript 等 Web 技术。

  1、浏览器引擎(Browser Engine)

  2、浏览器内核(Browser Kernel)

  3、排版引擎(Layout Engine)

  4、渲染引擎(Rendering Engine)

  5、JavaScript 引擎(JavaScript Engine)

  这几个名词经常会混用,通常只是广义和狭义的区别,浏览器内核/浏览器引擎/排版引擎/渲染引擎之间可以互换, 广义上的渲染引擎包含JS引擎,狭义上渲染引擎和JS引擎是两个不同的引擎。

  一般提到浏览器内核时,主要指浏览器引擎,提到浏览器引擎时,主要指排版引擎/渲染引擎。

  例如,在 Chromium 的文档中将 WebKit 描述为 Rendering Engine;WebKit 的文档中自述为 Web Browser Engine/Web Content Engine,它包含 WebCore 和 JavaScriptCore 等组件;描述 WebCore 时,称其是 WebKit 的 Layout Engine/Rendering Engine;描述 JavaScriptCore 时,称其是 WebKit 的 JavaScript Engine。

  浏览器和浏览器引擎

  浏览器引擎负责解析、渲染 HTML, CSS, JavaScript 和 DOM,但不包括菜单、工具栏等 UI 组件,也不包含系统服务、网络通信、打印、文件下载、PDF等功能。

  例如,WebKit/Gecko 只是浏览器引擎(Web Browser Engine),不是浏览器;Chromium 是浏览器(Web Browser)。

  1、基于 WebKit 的应用: Safari, Mail, App Store

  2、基于 Gecko 的应用: Firefox, Thunderbird, SeaMonkey

  3、基于 Chromium 的应用: Chrome, Opera, Microsoft Edge (Chromium), Electron

  可以简单认为:

  1、Chromium = Blink + V8 + 其他组件、库、服务

  2、Safari = WebKit + 其他组件、库、服务

  3、Chrome = Chromium + Google 服务集成

  4、Microsoft Edge (Chromium) = Chromium + Microsoft 服务集成

  5、Yandex Browser = Chromium + Yandex 服务集成

  6、360 安全浏览器 = Trident + Chromium + 360 服务集成

  常见浏览器版本

  1、Chrome Stable/Beta/Dev/Canary

  2、Microsoft Edge Stable/Beta/Dev/Canary

  3、Safari Stable/Safari Technology Preview/WebKit Nightly

  4、Firefox Stable/Beta/Developer Edition/Nightly

  国内的浏览器大多数基于 Chromium,双核浏览器基于 Trident 和 Chromium。UC 浏览器和腾讯的 X5 内核也都基于 Chromium。

  chromium 的含义为24号元素“铬(gè)”,chrome 的含义为“铬合金”,正好对应 Google Chrome 和 Chromium 间的关系。

  Chromium 项目包括 Chromium 和 Chromium OS,对应 Google Chrome 和 Google Chrome OS。

  渲染引擎和JS引擎

  常见浏览器的渲染引擎和JS引擎:

  Browser

  Rendering Engine

  t7浏览内核插件怎么安装_js 浏览文件夹对话框_js设置浏览器内核

  JavaScript Engine

  Internet Explorer (IE)

  Trident (MSHTML)

  JScript/Chakra

  Microsoft Edge

  EdgeHTML

  Chakra

  Firefox

  Gecko

  SpiderMonkey

  Safari

  WebKit

  JavaScriptCore

  Chrome

  Blink

  V8

  Opera

  Presto

  Carakan

  常见浏览器内置引擎的演进过程:

  1、Raptor -> NGLayout -> Gecko

  2、Mocha -> SpiderMonkey

  3、Trident -> EdgeHTML

  4、JScript -> Chakra (JScript9) -> Chakra

  5、KHTML -> WebKit WebCore

  6、KJS -> WebKit JavaScriptCore -> SquirrelFish -> SquirrelFish Extreme (SFE)

  7、Linear A -> Linear B -> Futhark -> Carakan

  关于浏览器引擎名称和版本的一些边角料:

  IE 系列中,Internet Explorer 8 是第一个在 User Agent 字符串中包含 Trident 排版引擎的版本。

  IE 最后一版为 IE11,Microsoft Edge 中的 EdgeHTML 延续了它的版本号 12-18。

  WebKit 的 WebCore 和 JavaScriptCore 分别 fork 自 KDE 的 KHTML 和 KJS。

  SquirrelFish 和 SquirrelFish Extreme 也被称为 Nitro 和 Nitro Extreme,它们都只是代号,项目始终叫 JavaScriptCore。

  SpiderMonkey 存在一些历史上的优化版本,代号为 TraceMonkey, JägerMonkey, IonMonkey。

  Goanna fork 自 Gecko,Goanna 是 Pale Moon, Basilisk 浏览器的排版引擎。

  2010年4月,Apple 启动 WebKit2 项目,为 WebKit 实现了一个新的 API 层,后来原 WebKit 被重命名为 WebKitLegacy,WebKit2 被重命名为 WebKit。

  2012年,Mozilla 启动 Servo 项目,希望开发一个高性能的、并行的浏览器引擎,用于替代 Gecko。

  2013年4月,Google 创建 Blink,它 fork 自 WebKit WebCore,实现了沙箱和多进程模型。

  2013年7月,Opera 发布基于 Chromium 开发的 Opera 15。

  2018年12月,Microsoft 宣布新版 Microsoft Edge 将基于 Chromium 开发。渲染引擎

  负责解析 HTML, CSS, JavaScript,渲染页面。

  部分浏览器和它们使用的渲染引擎:

  NCSA Mosaic

  Netscape Navigator/Netscape: Gecko

  Microsoft Internet Explorer: Trident

  Lynx

  Konqueror: KHTML

  Opera: Presto -> Blink

  Apple Safari: KHTML -> WebKit

  Mozilla Firefox: Gecko

  Google Chrome: WebKit -> Blink

  Microsoft Edge: EdgeHTML

  Microsoft Edge (Chromium): Blink

  JavaScript 引擎

  负责解释、执行 JavaScript 代码。

  常见的JS引擎:

  SpiderMonkey: Mozilla 的 JavaScript 引擎,使用 C/C++ 编写

  Rhino: Mozilla 的开源 JavaScript 引擎,使用 Java 编写

  Nashorn: Oracle Java Development Kit (JDK) 8 开始内置的 JavaScript 引擎,使用 Java 编写

  JavaScriptCore: WebKit 内置的 JavaScript 引擎

  ChakraCore: Microsoft 的开源 JavaScript 引擎

  V8: Google 的开源 JavaScript 引擎,使用 C++ 编写

  JerryScript: Samsung 开源的 JavaScript 引擎,被 IoT.js 使用

  Hermes: Facebook 的开源 JavaScript 引擎js设置浏览器内核,为 React Native 优化

  QuickJS: 由 FFmpeg 作者 Fabrice Bellard 开发

  WebView

  WebView 允许开发者在自己的应用中渲染显示网页内容。

  移动端 WebView 主要分 Android 和 iOS 两个阵营:

  Android

  Android WebKit WebView: 基于 WebKit

  Chromium WebView: 基于 Chromium

  iOS

  UIWebView: 基于 WebKit

  WKWebView: 基于 WebKit

  简单说明:

  从2013年发布的 Android 4.4 Kitkat 开始,增加 Chromium WebView,用来取代 Android WebKit WebView。(开始支持远程调试)

  从2014年发布的 Android 5.0 Lollipop 开始,Chromium WebView 支持以 Android System WebView App 的形式在应用商店中下载,独立升级。这就是为什么在 Can I use 上 Android Browser 一栏 Android 4.4.4 和 5.0 是个分水岭的原因,理论上,从 Android 5.0 Lollipop 开始,Chromium WebView 会一直更新升级。

  Android 可以在 App 中集成其他 WebView 组件,如 TBS X5 内核的 WebView,或者集成其他 JavaScript 引擎,如为 React Native 专门优化的 Hermes。iOS 上只能使用系统内置的 WebView。

  从2014年发布的 iOS 8 和 OS X 10.10 开始,增加 WKWebView,用来取代 iOS 上的 UIWebView 和 macOS 上的 WebView 组件。

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1718
0 评论
374

发表评论

!