WebView-> Chromium-> WebKit (Android,浏览器内核),demo

浏览器内核:1.Webkit内核;2.Chrominum内核;3.Blink内核。
第三方可靠的WebView组件的两套解决方案:Crosswalk与TBS(X5内核)服务。

   WebView加载H5也有两种模式,一种是加载服务器的H5页面,一种是加载本地的H5页面。
   在4.4版本之前,Android WebView基于WebKit内核的实现,Webkit内部包含了网络请求、页面渲染、js引擎等等;不过,在4.4版本之后,Android WebView就换成基于Google的Chromium的实现了,只是保留了webkit中关于排版渲染方面的代码,同时还把Browser应用给去掉了;基于Chromium实现,使得WebView可以更快更流畅地显示网页,基于Chromium Webview提供更广的HTML5,CSS3,JavaScript支持。
    WebView是Android系统提供能显示网页的系统控件,它是一个特殊的View,同时它也是一个ViewGroup可以有很多其他子View。WebView类直接继承于Android的布局类绝对布局AbsoluteLayout,这是由于绝对布局没有屏幕边框的缘故,这样加载Web网页时才能左右滑动,因为通常Web网页的宽度都是要远远大于手机屏幕的宽度的。
    在Android 系统版本5.0上基于chromium 37,Webview提供绝大多数的Html5特性支持。Webkit JavaScript引起采用WebCore Javascript 在Android 4.4上换成了V8能直接提升JavaScript性能。另外Chromium 支持远程调试(Chrome DevTools)。

 -- 目前开源的浏览器内核sdk不多,主要有以下几个:ChromeView、Crosswalk、TbsX5(腾讯浏览服务)。
1.基于Chromium内核的开源ChromeView目前基本上没有维护,另一个问题是所编译出来的动态库太大,ARM 29M,x86 38M,这无疑对app体积来说是个大难题。因此放弃采用基于Chromium的ChromeView。
2.Crosswalk同样是基于Chromium内核,同样存在上述app体积问题,因此也放弃。
3.TbsX5基于谷歌Blink内核,并提供两种集成方案:1)只共享微信手Q空间的x5内核(for share),2)独立下载x5内核(with download)。

一个小巧、轻量的浏览器内核,用来取代wke和libcef- https://github.com/weolar/miniblink49

> WebKit
  现在使用WebKit的主要两个浏览器Sfari和Chromium(Chorme的开源项目)。WebKit起源于KDE的开源项目Konqueror的分支,由苹果公司用于Sfari浏览器。其一条分支发展成为Chorme的内核,2013年Google在此基础上开发了新的Blink内核。
  WebKit 前身是 KDE 小组的 KHTML,WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS.      WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用)。
   WebKit 内核在手机上的应用也十分广泛,例如 Google 的手机Android、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。移动用户最热衷的仍然是内容。
   尽管WebKit的原型K内核是由Qt写成,但Linux下目前最受瞩目的WebKit项目却是Gnome领导的WebKit/Gtk+。随着奇趣科技于2008年6月被Nokia收购,Qt方面也加快了WebKit的“回归”进程。

进阶:HTML5, WebKit, Chromium- http://blog.csdn.net/milado_nju
老罗的Android之旅(WebKit,Chromium)- http://blog.csdn.net/luoshengyang?viewmode=contents
开发者需要了解的WebKit- http://geek.csdn.net/news/detail/240980
WebKit for Developers- https://www.paulirish.com/
为什么搞WebKit- http://blog.csdn.net/cutesource/article/details/8731841/
开发者应当了解的WebKit知识- http://blog.csdn.net/horkychen/article/details/8629976
http://baike.baidu.com/link?url=5wu5vP2UVen92_5H4CbssaS4IcyhcGJN5HjpkBBJr3a5mJJErBscwxIMHzw2sx_M-mV0RRD1bv0OTa8491_u0q

> WebKit and chromium
  WebView的实现是基于现有的缺省WebKit内核(Android缺省浏览器是基于WebView构建),它不同于chromium所使用的WebKit内核
  因为WebView提供的是一个View控件,那么View控件的容器可能接受储存在CPU中的结构(如bitmap),也可能是储存在GPU内存中的结构(如surface),所以它需要提供两种不同的输出结果。那么是否意味了WebView提供软件渲染和GPU硬件渲染两种方式呢?答案是否定的。
  目前WebView只支持单进程方式,未来不排除支持多进程方式。单进程意味了没有办法使用Android的isolated UID机制,因此,某种程度上来讲,安全性降低了,而且页面的渲染崩溃会导致使用WebView的应用程序崩溃。 
  在Android 4.4以下(不包含4.4)系统WebView底层实现是采用WebKit(http://www.webkit.org/)内核,而在Android 4.4及其以上Google 采用了chromium(http://www.chromium.org/)作为系统WebView的底层内核支持。

-- WebKit支持H5标签
WebView加载H5也有两种模式,一种是加载服务器的H5页面,一种是加载本地的H5页面。

WebKit内核,其核心主要是解析W3C标准以及渲染排版网页,它是一个跨平台的内核引擎.
chrome for Browser和chrome for Android还是有些不同,主要体现在一下几点:
 1. chrome浏览器是多进程架构,Chromium for Android Webview 是单进程架构。
 2. chrome浏览器内存占用比 Android WebView大的多。
 3. chrome支持更多的HTML5 feature。


> 书籍:《webkit技术内幕》

你可能感兴趣的:(浏览器Browser/搜索引擎)