[Phonegap+Sencha Touch] 移动开发70 cordova app中使用增强的webview

原文地址:http://blog.csdn.net/lovelyelfpop/article/details/50170321



一、CrossWalk/XWalk(安卓)

        安卓WebView在不同版本的安卓系统上表现参差不齐,这种不一致性使开发者非常头疼。虽然安卓4.4开始Google将安卓内置WebView内核更换为了Chromium,但还是有些bug(比如不支持WebSocket等,可能因为Chromium版本低了)。到安卓5.0开始,Chromium内核的WebView性能才有较大提升。

        Crosswalk作为一款开源的web引擎,正是为了跨越这些障碍而生。Crosswalk采用最新Chromium内核,在Android 4.0及以上的系统中使用Crosswalk的Web应用程序在HTML5方面可以有一致的体验,同时和系统的整合交互方面(比如启动画面、权限管理、应用切换、社交分享等等)可以做到类似原生应用。现在Crosswalk已经成为众多知名HTML5平台和应用的推荐引擎,包括Google Mobile Chrome App、Intel XDK、Famo.us和Construct2等等,Cordova 4.0+也已经支持以插件形式集成Crosswalk。

        如果你正在使用 Cordova-android 4.0.0+(注意不是Cordova 4.0.0+,Cordova 包含Cordova-android、Cordova-iOS等等),你可以添加下面的Crosswalk插件(仅支持安卓4.0及以上),使你的Cordova Android App获得飞一般的体验:

https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview



二、WKWebView(iOS)

        在WWDC2014中,苹果推出了iOS8,其中也伴随着很多控件的更新与升级。其中全新的WebKit库让人很是兴奋。本文也将讲解到WebKit中更新的WKWebView控件的新特性与使用方法,它很好的解决了UIWebView存在的内存、加载速度等诸多问题。

        WKWebView新特性:

  • WKWebView新特性在性能、稳定性、功能方面有很大提升(最直观的体现就是加载网页是占用的内存,模拟器加载百度与开源中国网站时,WKWebView占用23M,而UIWebView占用85M);
  • 允许JavaScript的Nitro库加载并使用(UIWebView中限制);
  • 支持了更多的HTML5特性;高达60fps的滚动刷新率以及内置手势

        如果你正在使用 Cordova-iOS 4.0.0+(注意不是Cordova 4.0.0+,Cordova 包含Cordova-android、Cordova-iOS等等),你可以添加下面的Crosswalk插件(仅支持iOS9及以上),使你的Cordova iOS App有更好的性能:

https://github.com/apache/cordova-plugin-wkwebview-engine

        因为iOS8的WKWebView有bug,不能加载本地文件(file://开头),所以此Cordova插件不支持iOS8。添加此插件之后,iOS9及以上的设备运行app时会自动使用WKWebView,iOS8及以下设备会自动使用UIWebView。







欢迎加入Sencha Touch + Phonegap交流群

1群:194182999 (满)

2群:419834979

共同学习交流(博主QQ:479858761)

你可能感兴趣的:(ios,android,Cordova,webView,PhoneGap)