Flutter 學習路線圖
如果你真的覺得很難,堅持不了了镰烧,那就放棄,既然放棄了就不要抱怨沒有得到楞陷。
選擇你熱愛的怔鳖,堅持你選擇的,不抱怨放棄的固蛾。
前言
Flutter越來越火结执,學習Flutter的人越來越多度陆,對于剛接觸Flutter的人來說最重要的是如何學習Flutter,重點學習Flutter的哪些內容献幔。下面是Flutter的學習路線圖懂傀,學會這些你就入門了,當然這僅僅是初學者的學習路線圖蜡感,前路漫漫蹬蚁。
了解Flutter
這是一個非常虛的概念,也不必花費非常多的時間去專門了解郑兴,只需在搜索引擎上搜索大概瀏覽下相關內容即可犀斋,這可以讓你對Flutter有一個全面的、站在頂層的了解情连,了解的內容如下:
- Flutter是什么叽粹、歷史發(fā)展、有哪些優(yōu)點却舀。
- Flutter對比其他跨平臺技術有哪些優(yōu)勢虫几。
- Flutter整體框架。
- Flutter實現(xiàn)原理挽拔。
- Flutter響應式編程實現(xiàn)原理辆脸。
- Flutter與Dart的關系及Dart特點。
不要一看上面“原理”就感覺好高深篱昔,對于初學者要了解僅僅是思想每强,知道實現(xiàn)的思路,而不需要深入學習州刽。
環(huán)境搭建
其實學習每一項技術首先都需要搭建環(huán)境空执,這并不屬于學習路線的一部分,拿到這里單獨說穗椅,也并不是告訴大家如何搭建環(huán)境辨绊,而是給大家推薦環(huán)境的選擇,因為Flutter的開發(fā)并沒有專門的IDE匹表,可以使用vscode门坷、android studio等,這里推薦使用android studio袍镀,系統(tǒng)建議Mac OS默蚌,因為Flutter目前主要用于Android和IOS的開發(fā)。
UI控件
UI控件的學習是進入Flutter的鑰匙苇羡,因此第一個要學習的就是相關UI控件绸吸,F(xiàn)lutter系統(tǒng)提供的組件非常多(估計300+),難道要都要學習一遍嗎?就算一天學3個控件锦茁,那也需要好幾個月攘轩,這明顯是不科學的,只需要學習常用的組件即可码俩,哪些是常用組件度帮?已經(jīng)為大家整理好了常用組件及相關用法,地址:http://laomengit.com 稿存,不僅有常用組件笨篷,還有整理了150多個組件的相關用法,不常用組件只需瀏覽一下挠铲,知道Flutter提供了類似的組件冕屯,用到的時候在來查閱。
Dart基礎
Flutter是用Dart語言開發(fā)的拂苹,所以我們需要Dart語言的基礎知識安聘,如果你有其他高級語言的基礎,這一部分基本可以略過瓢棒,只需了解如下內容:
- 如何導入包浴韭。
- 異步編程(Future、async脯宿、await)念颈。
- 注釋。
- 命名規(guī)范
- 如何定義變量作用域(private连霉、public)
因為這些方面和其他高級語言有些區(qū)別榴芳,至于其他的方法差別不大。
對于沒有其他語言基礎跺撼,甚至沒有編程基礎窟感,這時候你需要找一本Dart基礎的書學習其中的知識。
手勢事件及事件傳遞機制
Flutter中有點擊歉井、長按柿祈、雙擊等各種手勢事件,學習如何給控件綁定手勢事件及事件的處理哩至,最后需要對事件的傳遞機制有一定的了解躏嚎。
動畫
Flutter提供了大量的動畫組件,但我們不僅僅是會使用這些組件菩貌,還要了解動畫組件的實現(xiàn)原理卢佣,自定義動畫組件。
網(wǎng)絡請求
任何一個App基本都離不開請求網(wǎng)絡箭阶,學會網(wǎng)絡請求數(shù)據(jù)珠漂,強烈建議先了解下Dart自帶網(wǎng)絡請求晚缩,然后使用dio
第三方庫獲取網(wǎng)絡請求。
本地數(shù)據(jù)存儲
本地數(shù)據(jù)的存儲有如下幾種方式:
- 文件讀取媳危、寫入。
- shared_preferences:通過key-value的方式存放數(shù)據(jù)冈敛,適合存儲簡單的數(shù)據(jù)待笑,比如配置數(shù)據(jù)等。
- sqflite:數(shù)據(jù)庫的形式存儲數(shù)據(jù)抓谴,適合存儲大量數(shù)據(jù)暮蹂。
路由管理
什么是路由?簡單的理解就是頁面的跳轉癌压,從一個頁面跳轉到另一個頁面仰泻。路由管理就是對這些頁面跳轉到管理。
國際化
如果你的App需要國際化滩届,那么你需要學習國際化相關的內容集侯,如何設置不同國家的文案等。當然這并不是必須的帜消。
混合開發(fā)
混合開發(fā)是一個非常重要的內容棠枉,即使你完全使用Flutter開發(fā)一個全新的App,也可能涉及到原生開發(fā)泡挺。這部分你需要了解如下內容:
- 在原生項目中增加Flutter模塊辈讶。
- Flutter與原生通信。
Flutter與原生通信更為重要娄猫,因為一些涉及硬件功能Flutter必須通過原生實現(xiàn)贱除,比如相機、藍牙等媳溺。
交流
如果你對Flutter還有疑問或者技術方面的疑惑月幌,歡迎加入Flutter交流群(微信:laomengit)。
同時也歡迎關注我的Flutter公眾號【老孟程序員】褂删,公眾號首發(fā)Flutter的相關內容飞醉。
推薦Flutter組件學習地址:http://laomengit.com