一、學習路線
10步梦碗,每一個學習步驟都以自己親身實現(xiàn)寫出了Demo為準尉辑,光看資料不算完成
- 參考https://flutterchina.club/setup-macos/,搭建Flutter開發(fā)環(huán)境鸭蛙,安裝默認項目到設備
- 通讀Dart語法一遍:https://juejin.im/post/5c52a386f265da2de25b5c36摹恨,要求上面所有代碼,必須自己敲一遍
- 實現(xiàn)一個簡單的HelloWorld頁面娶视,目的是熟悉Flutter的項目結(jié)構和StatelessWidget組件晒哄,通讀Flutter的所有UI組件一遍:https://juejin.im/post/5c18d181f265da611f07a128,要求記住flutter的常用UI組件的繼承關系
- 實現(xiàn)頁面跳轉(zhuǎn)肪获、傳參寝凌、接收返回值,目的是熟悉Navigator組件
- 實現(xiàn)一個淘寶-個人中心頁面孝赫,暫不要求交互较木,但是頁面的樣式要大致實現(xiàn),主要目的是熟悉基本UI組件青柄,尤其是布局伐债、文本、圖片致开,
- 實現(xiàn)一個淘寶-首頁峰锁,要求包含交互:下拉刷新和上拉加載更多,主要目的是熟悉復雜列表視圖双戳、滾動嵌套虹蒋、手勢
- 實現(xiàn)一個簡單登錄頁面的Http請求,服務端自己寫飒货,主要目的是熟悉Flutter的輸入框魄衅、Dart的異步編程(async/await/Future)、網(wǎng)絡請求塘辅、json解析晃虫、響應式編程(StatefulWidget/setState)
- 實現(xiàn)一個簡單登錄頁面的grpc請求,protobuf文件和服務端也自己寫莫辨,主要目的是熟悉grpc插件的用法
- 實現(xiàn)讀取SP的簡單頁面傲茄,不準用第三方插件毅访,自己用MethodChannel實現(xiàn)Flutter調(diào)用原生的功能
- 實現(xiàn)Flutter項目接入宿主Android容器沮榜,主要目的是熟悉Flutter靜態(tài)路由和Android原生傳參給FlutterView
二盘榨、下一步的調(diào)研計劃
調(diào)研必須有輸出,實踐性的要有代碼產(chǎn)出蟆融,理論性的要有wiki產(chǎn)出草巡,沒有產(chǎn)出的調(diào)研,就是耍流氓
- 寫一個國際化的demo型酥,實現(xiàn)多語言切換
- 寫一個自定義View的Demo山憨,熟悉繪圖三劍客:canvas、path弥喉、paint
- 寫一個網(wǎng)絡圖片緩存的demo郁竟,并了解其實現(xiàn)原理和內(nèi)存占用
- 閱讀源碼,了解Flutter的渲染機制由境,如何從Widget->Element->RenderObject
- 了解Dart的異步機制棚亩,深入理解async/await/Future的原理