Webview

Webview是Android/iOS系统中内置一个浏览器组件,提供类似浏览器的功能。 在Android平台的Webview介绍在这里,iOS平台的在这里。从以上介绍看,Android平台的webview提供的API比iOS平台要丰富和强大。

同桌面浏览器一样,webview除了能加载远程站点以外,本地的HTML资源也是可以加载的。这是Hybrid App得以存在的基础,同时也是热更新能正常运作的基础。

UIWebview vs WKWebview

iOS平台上,WKWebView可以看作是UIWebview的升级版本,从iOS8开始自带。WkWebview相对UIWebview来说,提供更好的页面渲染性能和JS执行性能,同时在也开放了更多的API。在iOS8及以上的系统中,UIWebview和WKWebview是并存的。Cordova默认使用了UIWebview来作为运行前端页面的容器,同时也封装了WKWebview插件来让App运行在WKWebview中。

◆ webview可以升级吗?

Android平台上,在4.4以前,webview的实现是基于webkit做了轻微修改,4.4以后被替换成谷歌自己的Chromium。Chromium(基于Bilink)相对于webkit来说性能有很大提升。所以Hybrid App在Android4.4以后的版本运行效率会4.4以下版本要高。在Android5.0以前,webview的实现是被编译到ROM中的,5.0以后Webview的实现被独立成了一个apk组件,并且这个组件(Android Webview)可以在Google Play更新。在Google提供的原版Nexus ROM中,webview的实现是指向这个可以独立更新的组件的,所以在webview组件的更新对Hybrid Ap来说总是会提供更好的性能、bug的修复。坑爹的是,有些厂商ROM的webview实现并没有指向这个可以更新的组件,而是指向系统自带的实现。所以就会出现,对于Hybrid App某些性能问题或bug,在有些手机上升级了webview组件后就解决了,而有些手机升级了webview组件还是无济于事的情况。

iOS平台,Webview和WKWebview都是内置在系统中的,无法进行独立升级。一般来说,系统版本越新,Webview和WKWebview的性能越好,bug越少。

results matching ""

    No results matching ""