本文是個人學習 Flutter 過程中的筆記,內容包含查閱的資料和自己實踐的總結。
基本認識
Flutter是Google開發的一套全新的跨平臺、開源UI框架,支持iOS、Android系統開發,并且是未來新操作系統Fuchsia的默認開發套件。
Flutter的目標是使同一套代碼同時運行在Android和iOS系統上,并且擁有媲美原生應用的性能,Flutter甚至提供了兩套控件來適配Android和iOS(滾動效果、字體和控件圖標等等),為了讓App在細節處看起來更像原生應用。
Flutter開辟了一種全新的思路,從頭到尾重寫一套跨平臺的UI框架,包括UI控件、渲染邏輯甚至開發語言。渲染引擎依靠跨平臺的Skia圖形庫來實現,依賴系統的只有圖形繪制相關的接口,可以在最大程度上保證不同平臺、不同設備的體驗一致性,邏輯處理使用支持AOT的Dart語言,執行效率也比JavaScript高得多。
Flutter同時支持Windows、Linux和macOS操作系統作為開發環境,并且在Android Studio和VS Code兩個IDE上都提供了全功能的支持。Flutter所使用的Dart語言同時支持AOT和JIT運行方式,JIT模式下還有一個備受歡迎的開發利器“熱刷新”(Hot Reload),即在Android Studio中編輯Dart代碼后,只需要點擊保存或者“Hot Reload”按鈕,就可以立即更新到正在運行的設備上,不需要重新編譯App,甚至不需要重啟App,立即就可以看到更新后的樣式。
以上內容摘自這里
系統要求
安裝并運行Flutter,開發環境必須滿足以下最低要求:
- 操作系統::macOS (64-bit)
- 磁盤空間::700 MB (不包括Xcode或Android Studio的磁盤空間)。
安裝過程中,不足會提醒,騰出空間后可繼續。 - 工具: Flutter 依賴下面這些命令行工具.
bash
,mkdir
,rm
,git
,curl
,unzip
,which
安裝 Flutter
1、下載安裝包
- 去 官網 下載 macOS 的 Flutter 的壓縮包。(別在中文網下載,避免不是最新的)
2、解壓縮安裝包
解壓縮 Flutter 到本地目錄。比如,我在 /Users/xxx
目錄下,創建了一個development
文件夾,存放 Flutter:
cd ~
#創建文件夾
mkdir development
cd development
#unzip ~/Downloads/<你剛剛下載的Flutter壓縮文件>
unzip ~/Downloads/flutter_macos_v1.0.0-stable.zip
3、設置PATH環境變量
3.1、臨時添加到PATH(不建議)
添加 Flutter 工具到PATH,由于當前就在 /Users/xxx/development
,直接用 pwd
#export PATH=<flutter sdk 存放路徑>/flutter/bin:$PATH
export PATH=$PATH:`pwd`/flutter/bin
執行echo $PATH
可以查看是否設置成功, 但是這種方式只能暫時針對當前命令行窗口設置PATH環境變量,關閉命令行窗口重新開啟,echo $PATH
查看,則沒有之前的設置。所以不建議如此。
3.2 永久添加到PATH
- 打開/創建
$HOME/.bash_profile
,由于我之前已經創建了該文件/Users/xxx/.bash_profile
,故直接編輯:
vim ~/.bash_profile
- 添加Flutter到PATH,路徑即為上面Flutter SDK 安裝目錄,一定要正確。
#這是我之前添加的GO的PATH,和下面不沖突
export PATH=$PATH:$GOBIN
#Flutter_SDK_Path:Flutter SDK 安裝目錄,如上面的/Users/xxx/development
export PATH=$PATH:<Flutter_SDK_Path>/flutter/bin
- 使用鏡像:
由于在國內訪問Flutter有時可能會受到限制,Flutter官方為中國開發者搭建了臨時鏡像(不定期查閱避免失效),可以將如下環境變量也加入到用戶環境變量中:
#國內用戶需要設置
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
- 保存.bash_profile,并退出編輯模式,刷新當前窗口:
source ~/.bash_profile
關于zsh的配置
若終端為zsh,啟動終端時,默認不會加載$HOME/.bash_profile
,有如下兩種方式處理,任選其一即可。
1、 可以在$HOME/.zshrc
文件中添加source ~/.bash_profile
指令,然后保存.zshrc并退出,刷新當前窗口source ~/.zshrc
2、 直接將上述關于flutter的配置,添加到$HOME/.zshrc
文件,然后保存并退出,刷新當前窗口source ~/.zshrc
查看設置結果:
echo $PATH
4、執行檢查Flutter的安裝
執行以下指令,檢查Flutter是否需要安裝其他依賴:
flutter doctor
如本人執行后,終端報錯如下:
? libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:
brew update
brew install --HEAD usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
? ios-deploy not installed. To install with Brew:
brew install ios-deploy
根據以上提示,執行安裝。安裝過程中可能會空間不足,則清除空間后繼續安裝。最后再次執行flutter doctor
檢查:
[?] Flutter (Channel stable, v1.0.0, on Mac OS X 10.13.5 17F77, locale zh-Hans-CN)
[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[?] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
[?] Android Studio (version 3.0)
? Flutter plugin not installed; this adds Flutter specific functionality.
? Dart plugin not installed; this adds Dart specific functionality.
[?] VS Code (version 1.30.1)
[?] Connected device (1 available)
由于本人目前只考慮iOS的支持,故先忽略Android的支持。所以以上已經滿足要求。
5、 其他
官方也提供了以下 clone
的方式來安裝Flutter,本人并沒具體實踐:
#國內用戶需要設置官方提供的鏡像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
#clone
git clone -b dev https://github.com/flutter/flutter.git
#設置環境變量
export PATH="$PWD/flutter/bin:$PATH"
cd ./flutter
#檢查flutter
flutter doctor
配置IDE
本人選擇使用的是 VS Code。當然也可以配置其他編輯器,詳見官網.
1、下載 VS Code
去 VS Code官網 下載安裝最新穩定版本。
2、安裝 Flutter 和 Dart 插件
- 啟動 VS Code
- View > Command Palette,即 查看 > 命令面板
- 輸入
install
,選擇 Extensions: Install Extensions,即 擴展:安裝擴展 - 輸入
flutter
,在列表中選中 Flutter 進行安裝(會同步安裝 Dart 插件) - 安裝完畢,點擊 Reload to Activate,即 重新加載
3、檢查
- View > Command Palette,即 查看 > 命令面板
- 輸入
doctor
,選擇 Flutter: Run Flutter Doctor - 查看 OUTPUT 面板查看信息,若有報錯根據提示解決即完成配置。
創建第一個 Flutter 項目
- 啟動 VS Code
- View > Command Palette,即 查看 > 命令面板
- 輸入
flutter
,選擇 Flutter: New Project - 輸入項目名,點擊回車確認
- 確認項目存放的路徑
- 等待,當看到 lib/main.dart 文件,就表示創建成功。
運行 Flutter 項目
- VS Code 窗口底部狀態條,選擇真機或者模擬器。
- Debug > Start Debugging,或者直接點擊 F5 。
- 等待程序啟動,可在 Debug Console (調試控制臺)查看啟動進度。