三個多月的時間轉瞬即逝,轉眼間《Flutter 核心技術與實戰》已經走到了尾聲。在這里,**我要感謝你對我和這個專欄的鼓勵和支持,也要向你表示祝賀**:你已經完整地學習了專欄的全部課程,實現了從入門到進階 Flutter 技術的目標,你的堅持一定有所收獲。現在專欄課程已經結束了,但還不能松懈,我們的 Flutter 學習旅程并未結束,從進階到精通還有很長的一段路需要走,希望你能保持持續學習的習慣。
在這三個月的時間里,我們先后掃清了 Dart 語言基礎語法及常用特性障礙;系統學習了 Flutter 框架原理和核心設計思想,掌握了構建炫酷頁面從底層原理到上層應用的關鍵技術;學習了 Flutter 疑難問題及高階特性的背后原理,并通過一些圍繞效率和質量典型的場景,分析了在企業級應用迭代中,如何構建自己的 Flutter 開發體系。
專欄正文雖然已經更新完畢了,但我們的交流還會繼續。同時**針對專欄前面的課后題及留言,我也會從中專門挑選一些有代表性的問題進行深入講解**。
與此同時,我也很高興地看到,在 Google 針對前端和移動端的布局愿景和強力帶動的形勢下,Flutter 的發展方向愈加清晰。
在 2019 年,Flutter 有了越來越多的知名公司加持背書,其開發者生態正在日益繁榮,開發者體驗越來越好,支持的終端類型越來越廣,使用的項目也越來越多。在開源社區里,Flutter 是目前最火的大前端技術,正在經歷著從小范圍驗證到大面積商業應用的過程。
大前端的技術更新迭代快、東西多,很容易讓人挑花了眼。如果僅僅停留在對應用層 API 的使用上,不僅容易滋生學不動的困擾,也會讓人產生工程師雜而不精的觀點。**大前端技術都是相似相通的,我認為一名優秀的大前端工程師應該具備以下特征:**
* 在技術層面應該拋開對開發框架的站隊,除了應用層 API 之外,能夠更多地關注其底層原理、設計思路和通用理念,對中短期技術發展方向有大致思路,并思考如何與過往的開發經驗相結合,融匯進屬于自己的知識體系抽象網絡;
* 而在業務上應該跳出自身職能的豎井,更多關注產品交互設計層面背后的決策思考,在推進項目時,能夠結合大前端直面用戶的優勢,將自己的專業性和影響力輻射到協作方上下游,綜合提升自己統籌項目的能力。
**做好一件事從來都不是一蹴而就的。**
以我寫專欄的過程來說,我自認為在大前端領域摸爬滾打多年,撰寫專欄應該是一件駕輕就熟的事情。但從一開始的籌備階段,我就慢慢發現這個事情遠比我想象的要困難。與之前零散的總結輸出相比,專欄的組織形式和交付方式需要花費數倍的精力。
為了把每一個知識點講透,我需要花費大量的時間和精力去構思文章結構、驗證設計、準備素材、代碼實踐。期間也不乏為了確認一個知識細節,花費數天時間去查閱資料、閱讀源碼、驗證實現。
就這樣從初春寫到深秋,整整 7 個月,幾乎每個工作日的夜晚和周末,都用在了學習、寫作和錄音上,這個過程雖然很痛苦,但對我來說收獲是巨大的。可以說,《Flutter 核心技術與實戰》這個專欄對我自己也是一個認知重塑的過程。
**進步很難,其實是因為那些可以讓人進步的事情往往都是那些讓人焦慮、帶來壓力的。**而人生的高度,可能就在于你怎么面對困難,真正能夠減輕焦慮的辦法就是走出舒適區,迎難而上,去搞定那些給你帶來焦慮和壓力的事情,這樣人生的高度才能被一點點墊起來。解決問題的過程通常并不是一帆風順的,這就需要堅持。所謂勝利者,往往是能比別人多堅持一分鐘的人。
勿畏難,勿輕略,讓我們在技術路上繼續擴大自己的邊界,保持學習,持續成長。
[
](https://jinshuju.net/f/LOrQOp)
- 前言
- 開篇詞
- 預習篇
- 01丨預習篇 · 從0開始搭建Flutter工程環境
- 02丨預習篇 · Dart語言概覽
- Flutter開發起步
- 03丨深入理解跨平臺方案的歷史發展邏輯
- 04丨Flutter區別于其他方案的關鍵技術是什么?
- 05丨從標準模板入手,體會Flutter代碼是如何運行在原生系統上的
- Dart語言基礎
- 06丨基礎語法與類型變量:Dart是如何表示信息的?
- 07丨函數、類與運算符:Dart是如何處理信息的?
- 08丨綜合案例:掌握Dart核心特性
- Flutter基礎
- 09丨Widget,構建Flutter界面的基石
- 10丨Widget中的State到底是什么?
- 11丨提到生命周期,我們是在說什么?
- 12丨經典控件(一):文本、圖片和按鈕在Flutter中怎么用?
- 13丨ListView在Flutter中是什么?
- 14 丨 經典布局:如何定義子控件在父容器中排版位置?
- 15 丨 組合與自繪,我該選用何種方式自定義Widget?
- 16 丨 從夜間模式說起,如何定制不同風格的App主題?
- 17丨依賴管理(一):圖片、配置和字體在Flutter中怎么用?
- 18丨依賴管理(二):第三方組件庫在Flutter中要如何管理?
- 19丨用戶交互事件該如何響應?
- 20丨關于跨組件傳遞數據,你只需要記住這三招
- 21丨路由與導航,Flutter是這樣實現頁面切換的
- Flutter進階
- 22丨如何構造炫酷的動畫效果?
- 23丨單線程模型怎么保證UI運行流暢?
- 24丨HTTP網絡編程與JSON解析
- 25丨本地存儲與數據庫的使用和優化
- 26丨如何在Dart層兼容Android-iOS平臺特定實現?(一)
- 27丨如何在Dart層兼容Android-iOS平臺特定實現?(二)
- 28丨如何在原生應用中混編Flutter工程?
- 29丨混合開發,該用何種方案管理導航棧?
- 30丨為什么需要做狀態管理,怎么做?
- 31丨如何實現原生推送能力?
- 32丨適配國際化,除了多語言我們還需要注意什么
- 33丨如何適配不同分辨率的手機屏幕?
- 34丨如何理解Flutter的編譯模式?
- 35丨HotReload是怎么做到的?
- 36丨如何通過工具鏈優化開發調試效率?
- 37丨如何檢測并優化FlutterApp的整體性能表現?
- 38丨如何通過自動化測試提高交付質量?
- Flutter綜合應用
- 39丨線上出現問題,該如何做好異常捕獲與信息采集?
- 40丨衡量FlutterApp線上質量,我們需要關注這三個指標
- 41丨組件化和平臺化,該如何組織合理穩定的Flutter工程結構?
- 42丨如何構建高效的FlutterApp打包發布環境?
- 43丨如何構建自己的Flutter混合開發框架(一)?
- 44丨如何構建自己的Flutter混合開發框架(二)?
- 結束語
- 結束語丨勿畏難,勿輕略