本文概述
尽管有许多开发人员说使用混合技术创建你的移动项目是对应用程序性能的谴责, 但这并不是完全正确的。当他们谈论性能时, 他们必须谈论设备的硬件规格, 因为基于HTML5 cordova的应用程序可以满足基本应用程序的几乎所有性能要求。然后将出现”原生语言要好得多”或”用HTML, JS, CSS编写将使开发过程变得更快”的争论。好吧, 让我们开始讨论有关硬件问题的话题, 让我们想象一下, 我们所有人都有拥有顶级升级等功能的Samsung Galaxy S7 Edge。但是我们在一个简单的应用程序中工作(是的, 我们无法比较使用本机代码构建的游戏的速度以及带有HTML的游戏……或者也许是的, 但仍在阅读中)是使用最新, 最佳优化的JS和CSS框架构建的。此应用程序将运行, 而不会出现任何”性能”问题。现在, 我们有了一个不是很新但不是很旧的Android 4三星设备, 该应用程序也可以运行而不会出现性能问题, 但是, 似乎与CSS和JS构建的设计和应用程序布局与新Samsung相同。看起来与你的应用程序在Internet Explorer 8中测试的外观相同(我的意思是, 并没有那么夸张, 但是看起来并不好用当前的代码, 或者在当前代码下无法正常工作)。
想想看, 不是每个人都可以买到上一代设备, 但是我们需要我们的应用程序在所有设备上的行为都一样……要编写适用于每个版本的代码, 需要大量的代码, 测试和时间已安装设备的WebView。幸运的是, 对于那些需要功能解决方案的人, 我们建议他们在其cordova应用程序中使用Crosswalk Project。
Crosswalk项目是一个开放源代码的Web应用程序运行时, 使用Google的最新版本的Chromium和Blink构建。该项目的目标是为Web应用程序提供最新的创新功能, 包括实验性API和可扩展性。没有开发人员想要旧的, 过时的设备来防止它们使用令人敬畏的新Javascript API, 这就是Crosswalk存在的原因。通过使用Crosswalk Project作为应用程序的嵌入式浏览器, 为用户提供最新版本的Web。
优点和缺点
尽管该项目听起来很有希望, 而且听起来很完美, 但值得一提的是使用它的优缺点:
优点
- 你甚至可以在旧的android版本中远程调试应用程序(这是不可能的)。
- 使用现代网络浏览器中的所有可用功能:HTML5, CSS3, JavaScript。
- 改善HTML, CSS和JavaScript的性能。
- 通过减少Android设备碎片来获得一致, 可预测的行为。
缺点
- 取决于体系结构, 每个cordova应用程序将至少需要两个APK, 一个用于IA架构, 另一个用于ARM架构。
- APK大小显着增加(2MB空的cordova项目, 但Crosswalk在x86中为30MB, 在armv7中为27MB)。
如果你了解优点和缺点, 并且仍然想在项目中使用Crosswalk, 那么就开始吧!
实现Crosswalk
用Crosswalk替换设备的默认WebView很容易, 就像使用cordova插件一样进行安装即可。
1.创建一个cordova项目
打开一个新终端, 然后导航到将在其中创建项目的文件夹(在本例中为桌面):
cd C:\Users\<MY-USERNAME>\Desktop
并创建一个新的cordova项目(或者它可以已经是一个现有项目)
cordova create sandbox com.mycompany.sandbox Sandbox
然后导航到项目文件夹(在本例中为沙箱):
cd sandbox
现在, 你可以通过控制台找到cordova项目的目录。
2.添加Android平台
你需要为你的cordova项目安装一个平台, 在本例中为Android。要安装平台, 请使用以下命令:
cordova platform add android --save
3.安装Crosswalk
平台安装完成后, 执行以下命令继续在你的cordova项目中安装Crosswalk视图:
cordova plugin add cordova-plugin-crosswalk-webview
等待安装完成, 最后在设备或仿真器中测试空应用程序:
cordova run android --device
REM or in the emulator
cordova run android --emulator
恭喜, 你刚刚实现并用Crosswalk Webview替换了设备WebView。要查看生成的APK, 请导航至APK文件夹(\ YOUR-CORDOVA-PROJECT \ platforms \ android \ build \ outputs \ apk), 然后找到android-x86-debug.apk和android-armv7-debug.apk文件。当你的应用程序开发准备就绪并且要在Google Play中发布时, 你可能需要在此处阅读有关如何在Google Play中提交多个APK的文章。
我们建议你最终访问此处主页上的Crosswalk项目以及有关更多信息的文档。
编码愉快!