先了解框架邏輯,在瞭解細節,建議不要低着頭走路,雖然不會摔倒,不必定到達目的地,要先擡頭找好方向,在埋頭苦幹....html
Flutter 是Google提供開發Android&IOS,Window,Mac,Linux,Web的跨平臺開發UI工具包,主要是解決一套代碼可以運行在多種設備上的UI開發Kit,源代碼託管git
代碼倉庫之上ios
在準備編譯flutter以前,咱們須要解決的問題,帶着問題去學習纔是最好的方法,可以高效的解決有疑問的問題和內容:git
Flutter 生態包括Flutter源代碼、FlutterDart語言、Flutter Api,Flutter測試環境、Flutter編譯環境、Flutter issue等一系列和Flutter相關的內容,最基本的信息能夠在Flutter的git代碼倉庫中找到,後續的開發中主要也是也Flutter倉庫的內容爲準,目的主要是抓住Flutter開發相關的源代碼、開發環境設置、編譯、調試、優化、issue解決、貢獻代碼、咱們不能面面俱到的講解flutter的內容,咱們主要是理清楚Flutter開發相關的內容以及內容直接的關聯,在後續的開發工做中可以快速的判斷問題、理解整個Flutter運行原理,在經過工具輔助閱讀源代碼,進行問題定位和解決,而不是面向瀏覽器編程
。github
Flutter源碼託管倉庫chrome
HomeWiki編程
Flutter路線圖瀏覽器
Flutter 託管在Github上,經過depot_tools自動跟進.gclient
文件中配置的內容進行依賴下載編譯環境設置
1.fork Flutter github代碼倉庫中的代碼到本身的github中
2.配置電腦上的ssh證書到本身的GitHub帳號中
3.安裝相關的軟件工具設置開發環境
4.配置depot_tools環境
5.使用gclient sync
下載flutter源代碼到本地
6.等待漫長的下載過程就能夠把源代碼下載到本地
Flutter 源碼項目是一個龐大的源碼項目,是按照上面樣的組織方式來進行源代碼組織的???
編譯源代碼:源代碼
、編譯系統
、第三方支持庫
、編譯產物
1.Flutter本身的源代碼保存的位置???
2.第三方庫相關的代碼存放的位置???
3.編譯系統是怎麼根據不一樣的命令構建不一樣平臺的Flutter引擎版本???
4.使用到了那些工具?用什麼用處??
5.不一樣平臺的SDK是怎麼維護更新的???
6.編譯以後的產物是什麼樣子的???
flutter Engine源碼目錄下的文件和文件夾很是清楚的組織,不一樣功能做用的源代碼版本信息
,構建腳本
, 構建系統工具
,Flutter源代碼工程
,Android&IOS編譯相關的SDK檢測代碼
➜ engine_2019_11 tree -L 2
.
└── src 源文件目錄
├── AUTHORS
├── BUILD.gn 編譯腳本
├── LICENSE
├── README.md
├── build 構建腳本目錄,包含不一樣平臺的編譯文件
├── build_overrides
├── buildtools 編譯源代碼時使用到的工具
├── flutter Flutter核心代碼
├── ios_tools
├── out 編譯輸出文件目錄
├── third_party 圖片、文件、zlib等一系列工具庫,主要是一下獨立功能的庫文件
└── tools 主要是檢測和平臺相關的一下編譯環境和工具(Android、dart開發工具SDK)
9 directories, 5 files
複製代碼
Flutter環境安裝比較簡單,網絡上有不少的教程能夠參考,就不會再解析詳細的講解 經過以上三步的準備工做,咱們已經將Flutter相關的資源網站
,源代碼相關的位置和目錄
,編譯環境和源碼下載工具
作了一些準備和相關知識的瞭解,做爲開篇內容,將不會對細節作太多的說明須要主要個人知識點: