為一個(gè)新產(chǎn)品做技術(shù)選型乔煞,從性能考量上當(dāng)然是上原生比較好,但是在經(jīng)歷過維護(hù)多套代碼隨著業(yè)務(wù)的復(fù)雜度和版本迭代而帶來的痛苦后蕉世,本人是不太樂意上的,加之考慮到公司可抽調(diào)到的人力資源來算婿崭,最終還是決定用回Hybird。
然而习贫,Hybird當(dāng)前可選型的基本只有這幾個(gè):ionic逛球、NativeScript(NS)、React Native(RN)苫昌、weex颤绕,以及新出的flutter,涵蓋Hybrid發(fā)展以來的三代技術(shù)祟身。
第一代Hybird技術(shù)奥务,使用webview渲染+URLScheme+Cordova/Phonegap調(diào)用原生交互,sencha touch袜硫、ionic是其中代表之一氯葬。拋開缺點(diǎn)先不說,其UI基本全是網(wǎng)頁婉陷,開發(fā)方便帚称、三端通用,這些優(yōu)點(diǎn)導(dǎo)致了一批框架涌現(xiàn)秽澳,一時(shí)成百家爭鳴狀態(tài)闯睹,而此間所謂框架,只是換個(gè)方式重復(fù)造輪子而已担神。此時(shí)國內(nèi)的狀態(tài)楼吃,也如同現(xiàn)今的區(qū)塊鏈一樣,一窩蜂跟進(jìn)仿照妄讯,而不是嘗試解決其痛點(diǎn)孩锡。
技術(shù)創(chuàng)新是有必要的,是時(shí)代發(fā)展的需要亥贸,但是對(duì)于老瓶裝新酒躬窜,我覺得該用批判的態(tài)度去看待,它們有時(shí)不是因?yàn)橛袆?chuàng)新想法炕置,而只是因?yàn)槲也桓视谟脛e人那套斩披,我不想受制于人,我也是大廠我也能做讹俊,我要與眾不同垦沉,于是又造了一套輪子找御。
第一代Hybird技術(shù)成也webview昙沦,敗也webview,渲染性能是瓶頸尚氛,部分功能受限贩疙,流暢度略欠缺讹弯,國外的Telerik在看膩了一堆輪子后况既,推出了思想較為進(jìn)步、代表下一代Hybird技術(shù)的NativeScript组民,其思想是使用js調(diào)用原生api棒仍,很接近于原生android開發(fā),幾個(gè)月后臭胜,同樣是國外的Facebook推出了另一個(gè)劃時(shí)代產(chǎn)品ReactNative莫其,利用虛擬Dom,使用js橋接調(diào)用原生UI渲染耸三,從此Hybird技術(shù)正式進(jìn)入了第二代乱陡。
如果說第一代Hybird是春秋時(shí)代、百家爭鳴的話仪壮,那第二代Hybird就是戰(zhàn)國時(shí)代憨颠,只有幾個(gè)強(qiáng)大框架,長期時(shí)間积锅,第二代就是“吃飯爽彤、睡覺、打鄭國(原生)”缚陷,樂此不疲适篙,開發(fā)人員各自站隊(duì),我說你的不好蹬跃,你說我的不足,打了那么久铆铆,坑還是一如既往的多蝶缀,完善的進(jìn)度好比萬里長征。像NativeScript薄货,我沒太指望靠賣UI為生的公司能提供多少優(yōu)美開源的組件翁都;像ReactNative,還沒有發(fā)布1.0正式版本谅猾,每個(gè)版本可能都有差異化柄慰,不能很好向下兼容;而Weex税娜,好比熱帶雨林坐搔。
在看膩了它們打鬧后,莫名其妙賠了一通的Google說我不和你們一般見識(shí)敬矩,我自己玩概行,推出了用Dart語言開發(fā)的flutter,從此打開了第三代Hybird技術(shù)的大門弧岳。一群吃瓜群眾一臉懵逼:“這是什么鬼凳忙?”业踏,其實(shí)flutter思想是挺好的,編譯成原生代碼來跨平臺(tái)調(diào)用原生資源涧卵,然而勤家,其UI構(gòu)建方式,我想團(tuán)隊(duì)乃至很多人會(huì)像我一樣柳恐,吃習(xí)慣了甜豆腐腦伐脖、咸肉粽的表示吃不習(xí)慣啊……加之現(xiàn)在社區(qū)還不完善,遇到問題不好找到解決方案胎撤,不能貿(mào)貿(mào)然地應(yīng)用到產(chǎn)品上晓殊。
既想提高下開發(fā)效率,又想提高下用戶體驗(yàn)伤提,兜兜轉(zhuǎn)轉(zhuǎn)巫俺,沒有一個(gè)特別稱心滿意的框架,You can you up肿男,I can‘t just BB介汹,常說現(xiàn)在科學(xué)比較發(fā)達(dá)了,對(duì)于程序猿來說舶沛,找一個(gè)坑少好用的Hybird框架怎么這么難呢嘹承?
……
找一個(gè)最愛的深愛的想愛的親愛的框架
來告別傷身
一個(gè)多情的癡情的絕情的無情的框架
來給我傷痕
孤單的人那么多 快樂的沒有幾個(gè)
不要愛過了錯(cuò)過了留下了傷身的我
獨(dú)自唱情歌
為了愛孤軍奮斗
早就吃夠了愛情的苦
在愛中失落的人到處有
而我不是最后一個(gè)
愛要越挫越勇 愛要肯定執(zhí)著
每一個(gè)傷身的人得看透
想愛就別怕傷痛
……
愛一個(gè)框架好難……