Android webkit,webview和chrome的关系

Android webkit

Webkit是一个开源的浏览器排版和渲染引擎,包含WebCore和JavascriptCore。WebKit有众多的实现(Qt、Gtk, windows, chromium, android, etc)。

Android 4.0平台的Web引擎框架采用了WebKit中的WebCore,javascript引擎则是采用google的V8引擎。Android 4.0的webkit采用了和chromium 12.0.742.130中webkit相同的codebase,webkit版本为534.30。

由于Android系统本身是用Java编写的,那么,webkit与系统相关部分只能用Java编写,同时也可以提供一些Java API提供给应用开发者调用,而由于webkit底层的排版部分与系统关系不是很大,则使用C/C++编写。那么,Android webkit的结构就很清晰了,分为:Java层和C层。两者的通信通过Java Native Interface实现。

Android webkit,webview和chrome的关系_第1张图片

WebView

WebView是处于Java层的视图模块,通常在Android Native App中插入的html页面也是构建与WebView之上,包括了页面的浏览,请求的处理。这也就是为什么WebView的出镜率比Android Webkit本身还要高。很多Native App在开发的时候,部分更新率高的模块,都会选择使用WebView来渲染html页面,从而可以方便内容更新。

在C层中也有一个WebView模块,C层中的WebView模块负责初始化并构造WebView对象,然后将其赋值给Java层的WebView。之后两者就可以进行通信了。

Chrome

关于Android chrome,更多就是一些小道消息了。

  • chrome for Android是Chromium的派生。
  • Android自带浏览器虽然与Chrome有一些共享代码,但是两者有非常大的区别,两个开发团队进行了两种完全不同的开发。

未来Android浏览器和chrome for Android之间必然会统一。

你可能感兴趣的:(Android,iOS,webkit)