移动WebKit-带你进入浏览器的世界
2017-02-28 00:00
302 查看
平时在使用移动端浏览器(Android/iOS)总会有这样的体验: a.Android手机的浏览器就是shit,卡爆了/iOS的(safari)还不错哦; b.某东、某宝据说使用的是H5页面,为什么性能这么好? c.平时用的QQ浏览器,UC浏览器性能还不错啊,为什么自己做的WebView页面这么烂?
说到移动端的浏览器,就必须说到浏览器的内核:
作为浏览器最重要或者核心的部分,浏览器内核通常也被称为渲染引擎(Rendering Engine)。
所谓的渲染,就是根据描述或者定义构建数学模型,通过模型生成图像的过程。
浏览器的渲染引擎就是能够将 HTML/CSS/JavaScript 文本及其相应的资源文件转换成图像结果的模块。
浏览器内核
目前移动设备浏览器上常用的内核有Webkit,
Blink,
Trident,
Gecko等,
其中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兼容性差、加载速度慢、功能缺陷等问题
解决一切令开发者们头疼的问题,让开发者快速而轻松地开启开发之旅
嗯,果然很霸气,也有底气,每次拿出一份大数据的成绩单,就让人心服口服了,哈哈。
TBS(腾讯浏览服务)的优势
速度快:相比系统webview的网页打开速度有30+%的提升;
省流量:使用云端优化技术使流量节省20+%;
更安全:安全问题可以在24小时内修复;
更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;
兼容好:无系统内核的碎片化问题,更少的兼容性问题;
体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;
功能全:在Html5、ES6上有更完整支持;
更强大:集成强大的视频播放器,支持视频格式远多于系统webview;
视频和文件格式的支持x5内核多于系统内核
防劫持是x5内核的一大亮点
目前tbs服务已经更新到3.0了,备受开发者吐槽的各种问题,也修改的七七八八了,问题可能一直会有,但体验绝对越来越好。
现在不做过多的介绍,我们放到下次讲解和体验。
讲到这里,开头提出的几个问题是不是疑窦顿消了,希望您有所收获。
坚持原创技术分享,您的支持将鼓励我继续创作!
相关文章推荐
- 移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析html代码,更好地将移动web前端页面表现出来。本文整理一些常用的meta标签
- 下一代浏览器新体验 世界首个Webkit GPU渲染技术预
- 移动web中设计滚动条的大小 只兼容webkit浏览器
- 世界互联网用户期盼浏览器计算机
- 《移动浪潮》:移动智能技术如何改变世界
- 阻止移动设备(手机、pad)浏览器双击放大网页的方法
- Android如何在三年时间里征服移动世界的
- 理解WebKit和Chromium: 浏览器综述
- Swift游戏实战-跑酷熊猫 11 欢迎进入物理世界
- webkit核心浏览器css兼容问题解决方案
- 基于webkit浏览器开发html/css3的web应用程序
- 一步一步和我走,进入缤纷的嵌入式世界(连载2)
- 一步一步和我走,进入缤纷的嵌入式世界(连载3)
- 转 Java-Swing嵌入浏览器(一) 今天要说的额是浏览器的第一个版本是用DJnative-swt和swt包开发的调用本地浏览器和webkit浏览器的示例 这是我的工程目录【源码见最后】: i
- 带你快速进入.net core的世界
- 各种浏览器UserAgent一览表(桌面+移动)
- 2015年,Web 进入移动时代
- Trident,Gecko,WebKit三种主流浏览器引擎
- 2015进入博客的世界