最近剛剛做完一個用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#編寫源碼, 有機會試試~
