flutter重構(gòu)的斗魚直播APP
首頁洲劣、娛樂為Material組件開發(fā);直播間戈毒、魚吧為純自定義編寫
另外整合各類優(yōu)質(zhì)的第三方開源庫质况,打造出原生APP絲滑的用戶體驗(yàn)
盡可能接入更多功能,方法附帶注釋莺丑,幫助你在使用flutter進(jìn)行開發(fā)新的應(yīng)用提供實(shí)用的借鑒案例
Github源碼地址:https://github.com/yukilzw/dy_flutter
包含功能:
- 啟動(dòng)頁廣告位
- 開播列表上拉加載著蟹、下拉刷新、返回頂部
- 列表圖片緩存加載優(yōu)化
- 漸進(jìn)式頭部動(dòng)畫
- 底部導(dǎo)航切換保存頁面狀態(tài)
- HTTP緩存梢莽、IO緩存
- 直播間webSocket消息彈幕萧豆、禮物
- 頁面路由傳值
- RxDart全局消息通信封裝
- Bloc流式狀態(tài)管理(啟動(dòng)頁預(yù)加載首頁數(shù)據(jù))
- 禮物橫幅動(dòng)畫隊(duì)列
- 彈幕消息滾動(dòng)
- 靜態(tài)視頻流
- 九宮格抽獎(jiǎng)游戲
- 照片選擇器
- 全屏、半屏webView
- 魚吧頭部手勢動(dòng)畫
- 仿微信朋友圈圖片控件
- 登錄注冊彈窗
- 國家區(qū)號列表(仿微信通訊錄滑動(dòng)首字母定位)
- 二維碼掃碼
- 本地通知推送
- ...
- 持續(xù)增加中
APP截圖:
調(diào)試:
服務(wù)端接口沒有上云,如需本地啟動(dòng)該項(xiàng)目調(diào)試轻局,可修改lib/base.dart
中DYBase.baseHost
為內(nèi)網(wǎng)本機(jī)IP(端口不要改!)洪鸭,并確保手機(jī)與電腦在同一局域網(wǎng)
然后clone服務(wù)端倉庫,本地啟動(dòng)服務(wù)器
Mock服務(wù)為python tornado仑扑,兩種簡單啟動(dòng)方式可選(1.安裝py3.6與pip依賴览爵,2.使用Docker鏡像),具體參考其README
建議:
使用Material自帶的widget進(jìn)行搭配使用镇饮,已經(jīng)能滿足絕大部分場景的開發(fā)需求
但是在企業(yè)級APP高度UI交互定制化的場景下蜓竹,仍需要根據(jù)業(yè)務(wù)場景重新實(shí)現(xiàn)諸如AppBar、TabView等widget盒让,并編寫手勢交互
入門推薦:
Dart語法
Dart SDK
Flutter中文網(wǎng) - 簡單易懂的入門教程
Flutter實(shí)戰(zhàn) - 較為全面的進(jìn)階教程
Flutter官網(wǎng)(英) - 可查閱全部的API與SDK相關(guān)
Bloc(英) - 全局狀態(tài)管理(除此之外也可選用redux
或原生InheritedWidget
)
dy_flutter為個(gè)人項(xiàng)目,僅供學(xué)習(xí)借鑒用
PS:項(xiàng)目更新Flutter1.22版本司蔬,Android 10.0邑茄、ios 14.2 打包構(gòu)建測試已通過