`

WebKit, WebKit2, Chromium和Chrome介绍

 
阅读更多

概述

在介绍本系列各个专题之前,有必要先解释一下极其容易混淆的几个概念,它们是WebKit,WebKit2,Chromium和Chrome。

首先来了解WebKit。广义上来说,WebKit是一个开源的项目,其前身是来源于KDE的KHTML和KJS。该项目专注于网页内容的展示,开发出一流的网页渲染引擎。它不是浏览器,而且也不想成为浏览器。 该项目包含两个部分,第一是WebCore,其中包含了对HTML,CSS等很多W3C规范的实现;第二部分就是狭义上的WebKit,它主要是各个平台的移植并提供相对应的Web接口,也就是WebView或者类似WebView,这些接口提供操作和显示网页的能力。目前使用WebKit的主流的浏览器或者WebView包括Chrome, Safari, QtWebKit, Android Browser以及众多的移动平台的浏览器。

WebKit2相对于狭义上的WebKit而言,它不是WebKit简单的第二个版本,它是一个新的API层,其最主要的变化在于将网页的渲染置于单独的进程,而接口层则在另外一个进程,它们之间通过IPC来通讯。对于接口的调用者来说,中间的IPC和底下的实现是透明的,这样做的好处有很多,一个很明显的好处是,当网页的渲染出现问题时,不会阻碍Web接口的调用者进程,这会在很大程度上解决或者帮助解决浏览器或者这些调用者的稳定性和安全性等问题。

Chromium是一个建立在WebKit之上的浏览器开源项目,由Google发起的。该项目被创建以来发展迅速,很多先进的技术被采用,如跨进程模型,沙箱模型等等。同时,很多新的规范被支持,例如WebGL,Canvas2D,CSS3以及其他很多的HTML5特性,基本上每天你都可以看到它的变化,它的版本升级很快。在性能方面,其也备受称赞,包括快速启动,网页加载迅速等。

Chrome是Google公司的浏览器产品,它基于chromium开源项目,一般选择稳定的版本作为它的基础,它和chromium的不同点在于chromium是开源试验场,会尝试很多新的东西,当这些东西稳定之后,chrome才会集成进来,这也就是说chrome的版本会落后于chromium。另外一个就是,chrome里面会加入一些私有的codec,这些仅在chrome中才会出现。再次,chrome还会整合Google的很多服务, 最后chrome还会有自动更新的功能,这也是chromium所没有的。

 

     关注Web和HTML5领域的人最近应该都有了解WebKit项目的重磅消息,那就是Google退出WebKit项目,创建自己的渲染引擎Blink。这其实不能说完全没有先兆,合合分分,纯属正常。其实,之前关于WebKit2,双方的争论就非常的大。Apple希望它可以随便加入和删除代码而无需担心它会破坏其它Ports的代码,这遭到很多人的反对和不满。同时,另一方面,Google有很多新的功能希望加入WebKit中,但是WebKit可能并不认可他们。双方分歧越来越多,终于分道扬镳。

      这里面有个误区,就是Google的Blink是一个全新的引擎。其实不是这样,Blink目前就是从WebKit直接复制出一个版本出来,然后将与chromium无关的Ports全部移除掉,将代码结构重新整理,就目前而言,Blink的渲染和WebKit是一样,但是,以后两者将各自走不同的路。这有点类似于之前WebKit从KHTML中复制出来一样,历史总是惊人的相似。

     目前参与Blink和Chromium大致一样,拥有Chromium的commit权限对Blink也适用。原来一些WebKit的committer和reviewer也开始成为blink的committer。它的提交代码流程,review流程等都是chromium的风格,这对chromium的开发者来说非常熟悉。

    Blink从WebKit继承而来,那么未来它会在哪些方面做改变呢?根据chromium官方的说法,目前大概有两个比较大的,后面应该有更多的改变:

  1. 跨进程的iframe(out-of-process iframes):为iframes内容创建单独的沙箱进程来渲染它们
  2. 将DOM移入JavaScript中,这样JavaScript可以更快的访问DOM

     今后,Blink会和WebKit差别越来越大,对Web标准支持也不尽相同,未来的发展如何,让我们拭目以待吧。 顺便插一句,以后可能要改这个系列的标题了,呵呵。

分享到:
评论

相关推荐

    非IE内核 浏览器二开源码 windows/win32/VC++/vs/Webkit/Chrome/Chromium/CEF3

    最新的内核版本 (Version) WebKit 537.36 Chrome 74.0.3729.157 的CMake后的win32下Visual Studio 2015工程,解压后,请用vs2015(或以上)打开Platform-win32目录下cef.sln,本人Debug模式、Release模式下都编译...

    易语言 webkit Kirinoium2.0 chrome模块

    易语言Webkit Kirinoium2.0 Chrome模块是一款专为易语言用户设计的浏览器内核组件,它基于WebKit和Chrome的Chromium Embedded Framework (CEF)进行开发。WebKit是一种开源的网页渲染引擎,广泛用于Safari、Chrome等...

    简析Chrome和Webkit的渊源.docx

    这种设计使得 Chrome 的源代码与 Webkit 有了显著差异,同时 Google 对 Webkit 进行了重构,提高了代码可读性和编译效率,并创建了开源项目 Chromium。 Chromium 是 Chrome 的开源版本,它提供了 Chrome 的大部分...

    chrome浏览器内核WebKit

    Google Chrome 浏览器在其早期就采用了 WebKit 作为其渲染引擎,名为 "WebKit" 或 "Chromium" 内核。Chrome 通过引入自己的 JavaScript 引擎 V8 和多进程架构,显著提升了浏览器的性能和安全性。然而,随着时间的...

    chrome浏览器技术分析文档

    Chrome 浏览器技术分析文档深入探讨了 Chromium 浏览器如何利用 WebKit 渲染引擎和 V8 JavaScript 引擎构建高效的浏览体验。WebKit 是一个开源的网页排版引擎,用于解析 HTML 和 CSS,执行 JavaScript 代码以及绘制...

    Webkit介绍

    Webkit的核心设计理念是快速、安全和跨平台,这使得它成为许多知名浏览器如Apple的Safari和Google Chrome的首选内核。 Webkit的开发始于2001年,由KHTML和Gingerbread两个项目合并而成,最初由Apple公司为Safari...

    android的webkit介绍

    5. **Chromium 组件**: Android WebKit 也包含了来自 Chromium 项目的一些组件,如网络堆栈,用于处理 HTTP/HTTPS 请求和响应。 **二、WebView 的使用** 在 Android 应用程序中,开发者可以通过以下方式使用 ...

    Delphi WebKit

    WebKit是著名的开源网页渲染引擎,广泛应用于Safari、Chrome等浏览器,以其高效、稳定和对现代Web标准的良好支持而闻名。 这个库的引入,极大地扩展了Delphi开发者的功能,他们可以利用WebKit的强大能力来展示富...

    WEBKIT测试TEST工程

    Webkit是一个开源的浏览器引擎,广泛应用于许多知名浏览器,如Apple的Safari和Google的Chrome。它提供了网页渲染、JavaScript执行以及网络通信等功能,使得开发者能够构建高效且跨平台的网络应用。在"WEBKIT测试TEST...

    WebKit技术内幕d

    WebKit是Chromium项目的基础,后者为Google Chrome浏览器提供动力。此外,WebKit还影响了其他开源项目,如Apple的Safari、Opera等浏览器,推动了Web生态的发展。 通过深入学习《WebKit技术内幕》,开发者可以了解到...

    WebKit.net

    通过CefGlue,开发者可以利用WebKit.net的底层CEF实现,享受到更强大的功能和更新的Chromium版本。 总之,WebKit.net 结合了 CefGlue 提供了一种强大且灵活的方式,使.NET开发者能够在他们的应用程序中构建内置的...

    C# webkit为内核的浏览器打开网页源码

    C#是一种广泛用于构建桌面应用、Web应用和游戏的强大编程语言,而Webkit则是开源的渲染引擎,它被Safari、Chrome等知名浏览器采用。将C#与Webkit结合,我们可以创建一个能够解析和显示网页源码的定制化浏览器。下面...

    WebKit.NET

    这个框架基于WebKit引擎,这是一个广泛用于苹果Safari和谷歌Chrome等流行浏览器的渲染引擎。WebKit.NET通过提供C#接口,使得.NET开发者可以利用WebKit的强大功能,如HTML5解析、CSS样式、JavaScript执行以及多媒体...

    Chromium浏览器(Windows)

    在Windows平台上,Chromium提供了与Chrome类似的浏览体验,包括高速的WebKit渲染引擎(Blink),这是一个用于解析HTML和CSS、执行JavaScript的组件。此外,Chromium还支持多项Google Chrome的功能,如V8 JavaScript...

    WebKit分析报告2

    - **Chrome中对Port移植方面的实现**:Google Chrome使用Chromium项目下的Blink引擎,但在早期版本中也依赖于WebKit。 - **Android中对Port移植方面的实现**:Android平台上的WebView控件是基于WebKit构建的。 - **...

    Chrome浏览器:Blink正加速替代Webkit.docx

    Chrome浏览器的渲染引擎从Webkit转向Blink是一个重要的技术转变,这一变化反映了互联网技术的快速发展以及Google对于浏览器性能和安全性的不懈追求。Blink引擎的诞生源于一系列的技术挑战和未来发展的考虑。 首先,...

    C# CefSharp(Google Chrome Webkit内核)如何在Winforms应用程序中使用

    在Windows Forms应用程序中集成Web浏览器功能,开发者常常会选择CefSharp库,因为它基于Google Chrome的Webkit内核,提供高效且强大的浏览体验。CefSharp是Chromium Embedded Framework(CEF)的一个.NET封装,使得...

    chromium-linux.zip

    Chromium 是 Google Chrome 浏览器的开源版本,它为开发者提供了浏览器的基础架构,以便进行定制和改进。这个压缩包主要是为了方便 Linux 开发者下载、编译和调试 Chromium 项目。 Chromium 的主要知识点包括: 1....

    node-webkit

    Node-WebKit是Node.js和Chromium的集成,它将Node.js的运行时环境与Chromium的浏览器组件融合在一起,形成一个可执行文件。开发者可以通过编写JavaScript代码,利用Node.js的API进行后端操作,如文件系统交互、网络...

Global site tag (gtag.js) - Google Analytics