背景

android在开发移动端webview时,在兼容性上存在较多的适配问题,由于不同的厂商对系统webview做修改以及不同android版本之间的差异导致。为了更好地解决适配兼容问题,采用统一的内核SDK,针对此背景做了内核比较对比报告。

内核

浏览器内核分为:
- 渲染引擎(layout engineer 或者 Rendering Engine)
- JS引擎

负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式。

目前主流的移动端浏览器内核

其它浏览器内核参照下(参考文献:主流浏览器内核简介),移动端浏览器内核主要有:
- WebKit
- Blink
- Trident
- Gecko

- …

其中各手机系统采用内核为:
- iPhone等iOS平台主要采用WebKit
- Android 4.4之前的Android系统浏览器内核为WebKit, Android4.4之后采用Chromium,其内核是WebKit的分支Blink,
- Windows Phone 8系统浏览器内核为Trident.

就目前各浏览器所使用的内核来说最多的是基于WebKit基础上进行修改的,原则上还是WebKit内核。如:手机QQ浏览器X5内核(现已升级至Blink):基于WebKit研发的X5内核,UC浏览器也是基于WebKit内核开发的U3内核,360手机浏览器则为Chrome内核开发的G5内核。

X5内核版本

TBS2.6 内核详情
BLINK版本: 基于Chrome 37
HTML版本: HTML5.0
XHTML版本: xHTML Basic 1.0 | xHTML1.1
SVG版本: SVG1.2
WML版本: Wml 1.0
CSS版本: CSS3
Spdy版本: 3.1
支持的JavaScript版本: Ecma5

Crosswalk:

官网
Crosswalk是一款为HTML应用提供运行时环境的开源项目,同时它也扩展了一些Web平台的新特性。

特性:
- 使用所有现代浏览器可提供的特性:HTML5,CSS3,JavaScript。
- 访问主流和新兴的Web标准。
- 使用主流浏览器无法获取的实验性API。
- 通过部署自己的运行时环境来控制应用的升级周期。
- 通过为应用添加自定义扩展,来使用并未通过Crosswalk或公共Web标准暴露的系统平台功能。
- 基于最新的WKWebView的性能增强版的web运行时环境
- 跨平台(Android,iOS等)统一的web应用的创建和维护体验

参考文献

  1. 主流浏览器内核简介
  2. X5内核的问题
  3. 一篇文章读懂开源web引擎Crosswalk
  4. ionic整合Crosswalk