技術(shù)這條路尸曼,不是只有一條路的死胡同们何,還有詩(shī)與遠(yuǎn)方……
小刀有小刀的用途,斧子也有適用的場(chǎng)合控轿,看什么樣的場(chǎng)景冤竹,用什么樣的技術(shù)。
對(duì)于一般的項(xiàng)目茬射,性能沒(méi)那么苛求鹦蠕,加之終端硬件水平的提升,其實(shí)使用WebView+Cordova方案已經(jīng)足夠在抛,特別是在應(yīng)對(duì)多終端多使用場(chǎng)景(如Web版)的情況下钟病,個(gè)人認(rèn)為相對(duì)是最合適的,而且這種方案將長(zhǎng)期存在刚梭。但在追求高性能的場(chǎng)景肠阱,也可以考量一下其他技術(shù),其中RN望浩、Flutter無(wú)疑是關(guān)注度比較高的辖所。對(duì)于RN,由于個(gè)人維護(hù)過(guò)項(xiàng)目磨德,會(huì)了興趣有所下降缘回,同時(shí)覺(jué)得其架構(gòu)思想沒(méi)有Flutter先進(jìn):
RN綁定在原生的控件系統(tǒng)上吆视,而Flutter則開(kāi)辟了一種全新的思路,從頭到尾重寫(xiě)一套跨平臺(tái)的UI框架酥宴,包括UI控件啦吧、渲染邏輯甚至開(kāi)發(fā)語(yǔ)言。渲染引擎依靠跨平臺(tái)的Skia圖形庫(kù)來(lái)實(shí)現(xiàn)拙寡,依賴系統(tǒng)的只有圖形繪制相關(guān)的接口授滓,可以在最大程度上保證不同平臺(tái)、不同設(shè)備的體驗(yàn)一致性肆糕。
本人甚至隱約覺(jué)得RN會(huì)步Objective-C的路般堆,所以個(gè)人傾向于選型Flutter。像騰訊诚啃、美團(tuán)淮摔、阿里等大廠都有團(tuán)隊(duì)進(jìn)行Flutter的研究,當(dāng)Flutter的Hummingbird開(kāi)源項(xiàng)目發(fā)布后始赎,相信對(duì)開(kāi)發(fā)者的吸引力會(huì)更進(jìn)一步提升和橙。
其實(shí),遠(yuǎn)在Flutter發(fā)布正式版前造垛,已經(jīng)對(duì)它有所了解魔招,只是它有不少我看不慣的地方,所以在做了個(gè)簡(jiǎn)單Demo后就放下了五辽,觀望會(huì)不會(huì)有所改進(jìn)办斑,然而它依然是那么有個(gè)性……等正式版出來(lái)后,又試寫(xiě)了下奔脐,堅(jiān)持一段時(shí)間后俄周,發(fā)現(xiàn)借助IDE吁讨,原來(lái)看不慣的東西其實(shí)也沒(méi)那么大問(wèn)題……
“我死也不會(huì)妥協(xié)的……真香……”
用Flutter來(lái)練手髓迎,自然看了不少文檔,除了官方文檔建丧,也看了下別人寫(xiě)的Flutter教程排龄,但總感覺(jué)有些東西欠缺,部分技術(shù)也不是新的翎朱,甚至還有些是從別人那抄抄改改的橄维,也有寫(xiě)得還可以的,但是要付費(fèi)拴曲,所以決定自行記錄一下争舞。