又開始做APP了净当。
一共4個内斯,每個都要支持iOS、Android像啼,而且時間緊迫俘闯,用原生實現(xiàn)已經不可能了。
Hybrid模式沒跑了忽冻,目前接觸到的一共有幾種方式真朗,RN/Weex,cordova(phonegap/ionic)僧诚,appCan/dCloud遮婶,來說說我對這幾個的理解蝗碎。
- RN/Weex
- RN:2013年,facebook開源了其新一代JS庫-reactjs旗扑。并在2014年提出了React-Native的概念---可以采用reactjs開發(fā)native應用蹦骑,2015年正式推出了Reac-Natvie之后,一直火得不行臀防。我學過一陣子的reactjs脊串,由于不喜歡jsx的語法,后面也就沒有深入研究了清钥。并不是RN不好琼锋,沒詳細研究過,所以不好說太多祟昭。
- Weex: 這個是阿里推出的一個基于vuejs實現(xiàn)的跨平臺開發(fā)框架缕坎,于2016年下半年開源。Weex的實現(xiàn)思想和RN差不多篡悟,畢竟vue現(xiàn)在也越來越靠近React了谜叹。發(fā)布之后,去看了下官網搬葬,感覺好簡陋荷腊,肯定一堆坑在等著我。
- cordova(phonegap/ionic)
- cordova(phonegap)這個是我最熟悉的了急凰,接觸過兩年女仰,cordova算是移動應用跨平臺開發(fā)的先行者了÷招猓可以讓完全不懂java疾忍、Object-c的新手直接開寫移動app,并且官方提供了常用插件床三,重要的是作者一直在升級cordova一罩,努力讓它變得越來越好。當然撇簿,cordova也是有坑的聂渊,但對于填過兩年坑的我來說,問題應該也不大了四瘫。上一次用phonegap主要是因為用了jquery-mobile+backbone汉嗽,jqm太過重,page管理太爛莲组,兼容性也差诊胞;backbone倒還好,不過目前來說,也是該淘汰了撵孤。cordova本身是個好東西迈着,除了在低端機上流暢性不夠之外,想不出有什么大毛病了邪码,最最最重要的是裕菠,跨平臺多,對native要求低闭专,開發(fā)效率賊高啊奴潘。
- ionic:一開始挺好的,只做css framework影钉,不說美觀画髓,至少不丑,在bootstrap沒有適配移動端的時候平委,確實是個不錯的UI框架奈虾。可是后來野心勃勃廉赔,把cordova整合進來了肉微,只要一套就能開發(fā)APP了,再后來又傍上了angular蜡塌,成了一個巨無霸碉纳,但也成了一個三不像,要是用這個開發(fā)馏艾,光angular的指令就不容易記了劳曹,再加上ionic的UI,學習曲線激增攒至,開發(fā)效率也高不到哪去了厚者。
- appCan/dcloud
- appCan:國內做跨平臺做得比較早的躁劣,不過一直和apiCloud有版權糾紛迫吐,我也就不論誰是誰非了。appCan我最喜歡的是云打包功能账忘,有一個專門的APP管理平臺,只要上傳一些圖標,代碼便可以打包成ios和Android雙平臺的應用亏栈,自己本地開發(fā)環(huán)境都不用裝芋忿。當然,也提供了一個基于eclipse封裝的IDE蒋荚,可以在IDE上直接打包戳稽。弄過一兩個應用,好久沒看了,剛才去瞧了一眼惊奇,官網都做得不好互躬,提供的服務也就可想而知了。
- dcloud:這個吸引我的地方還挺多的颂郎,有自己的IDE---HBuilder吼渡,還提供了號稱最接近原生APP體驗的高性能前端框架--MUI,好像還成立了一個Html5聯(lián)盟乓序,推出了native.js的運行環(huán)境寺酪,對native接口進行了封裝,吹得和RN有得一拼替劈。之前也搞了幾周的MUI+HBuilder寄雀。一開始感覺挺好,后面發(fā)現(xiàn)MUI無法實現(xiàn)單頁面陨献,本質就是基于cordova進行的封裝咙俩,但吹得比cordova還牛逼多了。唉湿故,國內的競爭環(huán)境阿趁,連開源都變成了商業(yè)化,令人擔憂坛猪。
也想過自己用開源的jsbridge進行封裝脖阵,無奈自己native技術太差,只會web墅茉,又沒那么快招到合適的人命黔,所以只能干回老本行,用cordova了就斤。鑒于之前踩過了許多坑悍募,這次選了vue2+vue-router+vuex+muse-ui,vue全家桶就不用說了洋机,muse-ui是基于 Vue 2.0 和 Material Design 的 響應式UI 組件庫坠宴,同時支持移動和PC,雖然用得少绷旗,但總該是要走這條路的喜鼓。