移动WebKit-带你进入浏览器的世界

平时在使用移动端浏览器(Android/iOS)总会有这样的体验:
a.Android手机的浏览器就是shit,卡爆了/iOS的(safari)还不错哦;

b.某东、某宝据说使用的是H5页面,为什么性能这么好?
c.平时用的QQ浏览器,UC浏览器性能还不错啊,为什么自己做的WebView页面这么烂?

说到移动端的浏览器,就必须说到浏览器的内核:作为浏览器最重要或者核心的部分,浏览器内核通常也被称为渲染引擎(Rendering Engine)。所谓的渲染,就是根据描述或者定义构建数学模型,通过模型生成图像的过程。浏览器的渲染引擎就是能够将 HTML/CSS/JavaScript 文本及其相应的资源文件转换成图像结果的模块。

移动WebKit-带你进入浏览器的世界

浏览器内核

目前移动设备浏览器上常用的内核有

  • Webkit,

  • Blink,

  • Trident,

  • Gecko等,

移动WebKit-带你进入浏览器的世界

其中iPhone和iPad等苹果iOS平台主要是WebKit,Android 4.4之前的Android系统浏览器内核是WebKit,Android4.4系统浏览器切换到了Chromium,内核是Webkit的分支Blink,Windows Phone 8系统浏览器内核是Trident。

需要注意的是iOS平台上的WebKit,考虑到安全性,强制要求ios平台上到应用使用ios到WebKit框架及js等:苹果公司在App Store的政策中写道:“Apps在浏览网页时,必须使用iOS的WebKit框架以及WebKit JavaScript。”然而,第三方的浏览器不仅仅被迫使用Safari的内核——他们是被迫使用旧的慢的WebKit Javascript 引擎,而只有Safari可以使用最新最快的Nitro Javascript引擎。这就有点霸道了!

后面讲到优化部分,显然不包括ios上的,着重介绍Android上的优化;

移动浏览器内核WebKit介绍

WebKit是目前主流的移动浏览器渲染引擎,主要设计是用来让网页浏览器绘制网页。WebKit目前作为AppleSafari及Google Chrome(直到版本27)等浏览器的主要引擎。根据StatCounter的浏览器市场份额调查,于2012年11月,Webkit市占超过了40%,它已经成为拥有最大市场份额的排版引擎,超越了InternetExplorer所使用的Trident及Firefox所使用的Gecko引擎。Webkit也作为一些实验性质浏览器的基础引擎,包含Amazon Kindle 电子书阅读器,同时也使用在下列移动操作系统的默认浏览器,包含苹果电脑iOS、Android, BlackBerry Tablet OS、Bada、Tizen及webOS。WebKit的C++应用程序接口提供了一系列的Class让我们可以在视窗上显示网页内容,并且实现了一些浏览器的特色,包含使用者链接点击、管理前后页面列表以及使用者曾经访问过的历史页面等等。

WebKit的HTML及JavaScript源代码源自于KDE的KHTML及KJS程序库,现在已经由KDE、苹果电脑、诺基亚、Google、Bitstream、RIM、Igalia等进行独立专案开发。OS X、Windows、GNU/Linux以及其他类Unix系统操作系统,皆支援这个专案。

WebKit的WebCore及JavaScriptCore元件使用GNU宽通用公共许可证开源,而其他的WebKit元件则采用BSD许可证开源。

WebKit2发布于2010年4月8日,Webkit2的目标是将元件抽象化,并提供更干净的网页渲染,它会利用从周围的界面或是应用程式的壳,建立一个环境使网页的内容(JavaScript、HTML、排版等等)将会在另外一个程序(Process)运行,比起WebKit,这个抽象化的做法打算令WebKit2可重复使用一个更简单的程序。因为WebKit2对比起WebKit有 一个不相容的API ,所以导致他的名字被改变为WebKit2。

WebKit优化

做开发的朋友,对移动端开发有点基础或了解的,就会知道手机上的某东、某宝,采用的是Hybrid的开发技术,他们都是基于移动操作系统(Android/iOS)上的WebView进行开发的,通过在原生应用嵌入Html5页面,展示特定的效果或用户体验;然而,你以为就这么简单吗?错了,不得不说某东、某宝的实力还是有目共睹的,体现在产品上,媲美原声应用的体验,流畅的页面,很显然是做足了功课的。笔者不明白他们内部的技术,不过多说明,我们可以说一说目前比较火的腾讯X5内核(同样比较牛叉的还有UC的U3内核据说已经升级到U5,百度的T5内核-基于Trident);

众所周知,WebKit 是一个开源的浏览器引擎,包含WebCore排版引擎和JSCore引擎。既然是开源,个大浏览器厂商,手机品牌商,移动应用产品开发商等必然会对WebKit进行不断的改进优化,直至满足使用,达到优秀的使用体验;

腾讯X5内核介绍

TBS腾讯浏览服务(http://x5.tencent.com/tbs/index.html)

官网介绍,一句话:X5内核,解决系统WebView兼容性差、加载速度慢、功能缺陷等问题解决一切令开发者们头疼的问题,让开发者快速而轻松地开启开发之旅嗯,果然很霸气,也有底气,每次拿出一份大数据的成绩单,就让人心服口服了,哈哈。

移动WebKit-带你进入浏览器的世界

TBS(腾讯浏览服务)的优势

1) 速度快:相比系统webview的网页打开速度有30+%的提升;

2) 省流量:使用云端优化技术使流量节省20+%;

3) 更安全:安全问题可以在24小时内修复;

4) 更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;

5) 兼容好:无系统内核的碎片化问题,更少的兼容性问题;

6) 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;

7) 功能全:在Html5、ES6上有更完整支持;

8) 更强大:集成强大的视频播放器,支持视频格式远多于系统webview;

9) 视频和文件格式的支持x5内核多于系统内核

10) 防劫持是x5内核的一大亮点

目前tbs服务已经更新到3.0了,备受开发者吐槽的各种问题,也修改的七七八八了,问题可能一直会有,但体验绝对越来越好。现在不做过多的介绍,我们放到下次讲解和体验。

讲到这里,开头提出的几个问题是不是疑窦顿消了,希望您有所收获。

坚持原创技术分享,您的支持将鼓励我继续创作!


分享到:


相關文章: