想學Flutter,就請關注這個專欄
前端想學Flutter,就請關注這個專欄
歡迎Start!歡迎Follow!
Flutter系列(一)——詳細介紹
Flutter系列(二)——與React Native進行對比
Flutter系列(三)——環境搭建(Windows)
Flutter系列(四)——HelloWorld
文檔歸檔:
github.com/yang0range/…
git
最近一段時間一直學習Flutter,也嘗試寫一下Demo,可是在用的時候。從一開始驚豔到了,以爲寫起來很爽,各類UI效果實現起來很棒,並且因爲渲染機制,還讓雙端甚至多端的UI保持一致以及幾乎能夠和Native先媲美的用戶體驗。可是慢慢就又發現了許多新的坑,新的問題,確實也很不爽。github
爲此特地從網上找了一些大廠的資料借鑑一下。redux
閒魚是使用Flutter很是早的團隊,並且閒魚對於Flutter的應用,甚至二次開發都走在前面,在保持項目穩定的同時,又開源出不少有價值的東西。架構
爲此特地找了一下閒魚客戶端負責人——於佳在全球前端大會上的一個分享,仔細看看確實收穫頗豐。工具
Flutter很早就推出了,並且我以前也經過一篇文章,詳細介紹了Flutter。post
一個新技術推出來是一刀切的把如今的內容全替換成Flutter嗎?或者說什麼樣的團隊更應該關注Flutter?性能
若是團隊是這樣的團隊那麼就應該更多的關注一下Flutter學習
由於現有的APP多是基於某種架構或者某些邏輯已經成型,假若從新用Flutter去打造一個APP顯然是不顯示的,那麼如何儘量快速的把Flutter融合到咱們當前的項目的同時,又要保證二者的無縫銜接以及高性能呢?優化
閒魚用兩種方式來解決以上問題。
1.了全局共享同一個 FlutterViewController 的方式保證
了內存佔用的最小。
2.Dart 側提供一個 BoostContainerManager 的方式,提供了對多個
Navigator 的管理,來避免堆棧邏輯混亂的問題。
針對這一部分工做,閒魚已經開源了一個項目 Flutter Boots
項目地址
詳細的介紹能夠參閱GitHub上的文檔GitHub地址
這裏是給我印象最深的一部分。
在本身項目的開發當中,常常也會遇到你們的書寫習慣致使形式各異的代碼結構,甚至穩定性還不能保證。特別是多人協做的過程中後期維護,仍是工做交接的過程中不是很便捷。
如何拉高代碼的下限,寫出來的代碼保持一個80%以上的質量度。
爲了解決這個問題,閒魚選擇了Flutter Redux方案並加以優化通過三個版本迭代最終落地了Fish Redux。
結構圖以下。
詳細的內容介紹能夠在GitHub文檔當中看到。
開源地址:https://github.com/alibaba/fish-redux
整個分享內容仍是乾貨滿滿,我只是針對印象比較深的內容進行了整理。
最近剛開始慢慢接觸Flutter對於不少比較深的概念和構想理解仍是遠遠不夠,但願在從此的實踐當中,慢慢用到甚至會體會到閒魚在Flutter的架構演變當中的思想。
Flutter已是Top20的軟件庫,經過接下來的一系列的文章,但願我和你們一塊兒來學習Flutter,一塊兒進步,一塊兒有所收穫,掌握將來技術主流的主動權!
閒魚推出了一個
Flutter in action——閒魚最佳實踐的文檔,針對Flutter從開源工具,到企業級應用實踐再到混合開發實踐指南等內容都作了一個詳盡的介紹。
關注個人公衆號,並回復"閒魚"便可獲得,相信會讓你受益不淺!