Flutter佈局與油畫

flutter是谷歌力推的一項移動端跨平臺技術,自從推出以來就發展迅速,雖然還達不到撼動React的地位,但是也隱隱然有著“下一代跨平臺王者”的氣質了。

flutter相對於React的優勢是很明顯的。React基於IOS和Android的封裝元件透過橋接的模式進行跨平臺,是一種不太徹底的方案,效能上的損失也比較大。相反,flutter是從IOS和Android的硬體層開始實行跨平臺,自底向上開發了一整套前端顯示方案,完美的避免了React的缺陷,效能上輕鬆達到60bps重新整理頻率,更是號稱能夠用來做2d遊戲。

同時flutter也有一些開發者所不滿的地方。第一點就是,採用dart語言。flutter選擇dart據說是因為dart團隊就在flutter團隊辦公室旁邊,flutter所提出的要求,dart語言能夠立刻就響應。其實從學習經歷來看,只要學習過java,swift,js,c#這種高階語言,dart語言的上手成本是很低的。第二點,恐怕就是flutter那層層巢狀的程式碼了。

Flutter層層巢狀的程式碼,對閱讀不友好。入手者去閱讀別人的程式碼時,往往感覺很彆扭。這是因為,閱讀程式碼往往是按照程式碼片段從上往下的順序。而人理解一個東西的順序,是從簡到難、從基礎到複雜、從核心到邊緣的順序。而flutter的佈局程式碼中,簡單的基礎的核心的程式碼,往往是縮排在最裡面最中間的位置。這種差異也造成了對初學者的閱讀體驗並不是很好。

Flutter佈局與油畫

閱讀順序與理解順序的差異

自學flutter有一段時間了。最初對於flutter佈局程式碼的這種巢狀寫法,也是覺得不爽。但是自己上手開始開發以後,就體會到這種寫法,對於開發者而言還是挺爽的。為什麼,因為,yo yo 這這感覺就像一路芳香還有婆娑輕波 的 畫油畫 的感腳。

油畫和國畫的區別是什麼?國畫講究一氣呵成,勾勒山石的一條線下筆後就不能再補第二筆,不然就會破壞整體的氣韻生動。而油畫則是修修補補,隨時能夠修改和填補,只要蓋住以前的顏料就可以了。

而flutter寫佈局程式碼的過程,就和油畫創作過程類似。先從基礎的部分寫起,然後逐步調整和修改,逐層的新增,最終完成了介面佈局。

新人在學習flutter時,介面佈局要順著這樣一種思維:先定義整體框架,然後從最基本的部分開始填充內容,然後對佈局進行修補調整,最終完成工作。

Flutter佈局與油畫

程式碼編寫的步驟