七分設計感的純Flutter項目(Mung三部曲)

React版Mung

React-Native版Mung

Flutter版Mung

Mung-Flutter

項目地址前端

1. Mung-Flutter:是一個基於Flutter編寫,使用豆瓣開源API開發的一個項目。

image

2. 功能概述

  • 啓動頁:添加了啓動頁主要是讓最開始進入時不至於顯示白屏。
  • 數據保存 :支持斷網加載緩存數據。
  • 主題換膚 :如今只支持切換主題顏色,本項目沒幾張圖片。
  • 查看電影詳情 :支持查看電影詳情包括評論。
  • 一鍵搜索: 支持標籤和語句查找相關的電影。
  • 查看劇照: 支持縮放圖片。

3.1 動態演示(Android版)

3.2 運行結果圖

image
image

4. 使用到的框架

  • flutter_swiper :Banner欄圖片輪播的效果。
  • rxdart :和Rxjava、RxJs、RxSwift差很少,這裏主要用它的BehaviorSubject配合Bloc模式實現狀態管理。
  • shared_preferences :簡單的數據保存,比較細緻的數據存儲如列表等仍是建議使用數據庫。
  • dio :實現網絡請求,一個很是不錯的三方網絡包,功能很是多,若是剛入門或者項目比較急建議使用這個。
  • flutter_spinkit : 加載時顯示的加載組件,挺不錯,建議看下。
  • photo_view: 圖片縮放組件,由於安卓裏的photoview正好選了,使用了一個簡單的功能,暫時沒發現問題。

5. 項目全局狀態管理

如今據我瞭解的比較成熟的狀態管理有。java

    1. InheritedWidget(自帶的其餘三方好像都是基於它開發,只是封裝了下,更加方便)
    1. scoped_model: 不錯。
    1. redux和前端的redux是一個意思,但我寫過demo用過,我的愚見:差遠了。
    1. Bloc:(Business Logic Component)paolo soares 和 cong hui 在2018年Google dartconf上提出的,它實際上是一個模式InheritedWidget+stream配合使用。

本項目使用的就是Bloc。ios

6. 思考

這個開發的第一個flutter,都有這個項目來講該用的主流框架都恰到好處的用了,由於項目過小,適合入門和快速開發。對於flutter我的感受。git

    1. 上個月看了一個消息Flutter團隊好像在今年不會推出熱更新功能,好像是基於安全和可實現性考慮,這裏要說下flutter編譯模式: 開發階段使用的是 Kernel Snapshot 模式編譯,生產模式使用AOT。
    1. flutter上月好像推出了web端和桌面的適配,這個應該對flutter發展有很大幫助。
    1. 我以前一年多一直使用React-Native開發項目,感受Flutter的組件比RN多,並且多不少,組件兼容性更好,並且更精緻,可是嵌套的模式真心醜,並且巨亂,我開發時把組件拆分紅多個函數這樣會讓界面清新一點。
    1. 狀態管理,暫時尚未一個絕對好的狀態管理功能,如今有些項目使用bloc或者bloc+redux,但我的認爲不久的未來會有一個好的狀態管理功能佔據絕對的地址,想RN的redux、mobx同樣。
    1. 組件生命週期函數不多,尤爲是開發大型項目時,以前使用RN開發時就以爲RN比原生安卓生命週期少,本身還得去添加全局監聽去管理生命週期,flutter就更少了。
    1. 性能,應該flutter,網上一大堆對比文章一番一大把,我的使用也明顯感受到flutter性能很好,這是現實原理的問題,尤爲是列表,比fRN好不少,並且動畫等也多,自定義組件還沒看,不作評價。
    1. 社區,毫無疑問RN社區會比Flutter對於如今這個時間段來講,並且RN支持熱更新對原生加(RN、Flutter)來講,RN也更站優點,三方組件來講RN已經不少了,開源項目比較多。

7. 提示

2019-5-12左右豆瓣把開源API關了,如今使用的別的開發者的地址,項目Baser_url是抽出來的後期能夠本身改,如今項目使用的是https://douban.uieee.com/v2,能夠正常運行。github

8.下載地址

  • 安卓版
  • ios版(沒有企業帳號-😊)

9. 項目地址

10. 麻溜的走在大前端的路上.......

相關文章
相關標籤/搜索