最近刚刚做完一个用Cordova开发了一款电子商务的应用。在选用Cordova前,我有考察过,国内的Appcan, Apicloud等等的解决方案。其实Appcan,ApiCloud的混合方案挺完整的,从开发,框架,到打包测试,数据统计都包含了,但是我还是更倾向于开源的Cordova, 我相信开源社区的力量应该更强大,所以最终选择了Cordova作为解决方案。事实上,我用Cordova开发遇到目前所以需要的插件都是可以通过Google查找到的。在此总结下我用到的插件。
Crosswalk
这是一个单独定制的Webview插件,包含了大部分最新的HTML5特性。Crosswork Cordova插件目前只支持Android, iOS需要自己手动的集成。在如今安卓机这种测试机可以装一箱子都不止的情况下,使用统一的Webview是十分有必要的。可以避免大部分的兼容性问题,而且可以保持不错的性能。当然有个弊端就是添加这个插件,打包的apk会增加20MB左右。
极光推送(JPush)
极光的推送插件在Cordova上的集成也是非常的方便,顺利的话1个小时就可以搞定。刚开始的时候我还有点慌,担心推送插件的集成问题,没想到看了下官网,有从Cordova的集成版本,还支持自动安装。
切页转场动画
刚开始我利用Angularjs集成了CSS3的转场动画,打包跑在iOS上时其实还好,但是到Android端的时候,弊端尽显,实在不理想,最好我把转场动画都直接撤掉了,留下个loading动画。显然整个界面的切换就变的干巴巴了。最后找到com.telerik.plugins.nativepagetransitions这个转场插件。这个插件支持Slide
,Flip
,Fade
, Drawer
, Curl
等5种效果,集成和调用也很简单。
键盘插件(Keyboard)
大家都知道在移动端调出键盘输入操作时,调出的键盘会挤出自己当前的界面,造成页面的样式错乱的问题。Keyboard插件可以监听键盘的展示隐藏事件,禁止input时键盘出现界面滚动等等问题。
支付Alipay
做移动应用肯定少不了支付,支付宝的Cordova插件其实很多,但我搜索了一圈还是这个比较好使~
总结
以上是我用的几个主要插件,因为Cordova里面像Camera
, File
, 其他类型的插件太多太多了。完全可以根据自己的喜好来选择。总而言之,Cordova本身由于这么多年时间的积累,造就了它在插件等等资源上的很多的优势。另外,微软刚刚开源的Xamarin据说也是个非常不错的混合开发方案,用C#编写源码, 有机会试试~