本文是個(gè)人學(xué)習(xí) Flutter 過(guò)程中的筆記嫁蛇,內(nèi)容包含查閱的資料和自己實(shí)踐的總結(jié)宇色。
基本認(rèn)識(shí)
Flutter是Google開(kāi)發(fā)的一套全新的跨平臺(tái)剃袍、開(kāi)源UI框架腕侄,支持iOS侥猬、Android系統(tǒng)開(kāi)發(fā)善炫,并且是未來(lái)新操作系統(tǒng)Fuchsia的默認(rèn)開(kāi)發(fā)套件撩幽。
Flutter的目標(biāo)是使同一套代碼同時(shí)運(yùn)行在Android和iOS系統(tǒng)上,并且擁有媲美原生應(yīng)用的性能箩艺,F(xiàn)lutter甚至提供了兩套控件來(lái)適配Android和iOS(滾動(dòng)效果窜醉、字體和控件圖標(biāo)等等),為了讓App在細(xì)節(jié)處看起來(lái)更像原生應(yīng)用艺谆。
Flutter開(kāi)辟了一種全新的思路榨惰,從頭到尾重寫(xiě)一套跨平臺(tái)的UI框架,包括UI控件静汤、渲染邏輯甚至開(kāi)發(fā)語(yǔ)言琅催。渲染引擎依靠跨平臺(tái)的Skia圖形庫(kù)來(lái)實(shí)現(xiàn)居凶,依賴(lài)系統(tǒng)的只有圖形繪制相關(guān)的接口,可以在最大程度上保證不同平臺(tái)藤抡、不同設(shè)備的體驗(yàn)一致性侠碧,邏輯處理使用支持AOT的Dart語(yǔ)言,執(zhí)行效率也比JavaScript高得多缠黍。
Flutter同時(shí)支持Windows弄兜、Linux和macOS操作系統(tǒng)作為開(kāi)發(fā)環(huán)境,并且在Android Studio和VS Code兩個(gè)IDE上都提供了全功能的支持瓷式。Flutter所使用的Dart語(yǔ)言同時(shí)支持AOT和JIT運(yùn)行方式替饿,JIT模式下還有一個(gè)備受歡迎的開(kāi)發(fā)利器“熱刷新”(Hot Reload),即在Android Studio中編輯Dart代碼后贸典,只需要點(diǎn)擊保存或者“Hot Reload”按鈕视卢,就可以立即更新到正在運(yùn)行的設(shè)備上,不需要重新編譯App廊驼,甚至不需要重啟App据过,立即就可以看到更新后的樣式。
以上內(nèi)容摘自這里
系統(tǒng)要求
安裝并運(yùn)行Flutter蔬充,開(kāi)發(fā)環(huán)境必須滿(mǎn)足以下最低要求:
- 操作系統(tǒng)::macOS (64-bit)
- 磁盤(pán)空間::700 MB (不包括Xcode或Android Studio的磁盤(pán)空間)蝶俱。
安裝過(guò)程中,不足會(huì)提醒饥漫,騰出空間后可繼續(xù)榨呆。 - 工具: Flutter 依賴(lài)下面這些命令行工具.
bash
,mkdir
,rm
,git
,curl
,unzip
,which
安裝 Flutter
1、下載安裝包
- 去 官網(wǎng) 下載 macOS 的 Flutter 的壓縮包庸队。(別在中文網(wǎng)下載积蜻,避免不是最新的)
2、解壓縮安裝包
解壓縮 Flutter 到本地目錄彻消。比如竿拆,我在 /Users/xxx
目錄下,創(chuàng)建了一個(gè)development
文件夾宾尚,存放 Flutter:
cd ~
#創(chuàng)建文件夾
mkdir development
cd development
#unzip ~/Downloads/<你剛剛下載的Flutter壓縮文件>
unzip ~/Downloads/flutter_macos_v1.0.0-stable.zip
3丙笋、設(shè)置PATH環(huán)境變量
3.1、臨時(shí)添加到PATH(不建議)
添加 Flutter 工具到PATH煌贴,由于當(dāng)前就在 /Users/xxx/development
御板,直接用 pwd
#export PATH=<flutter sdk 存放路徑>/flutter/bin:$PATH
export PATH=$PATH:`pwd`/flutter/bin
執(zhí)行echo $PATH
可以查看是否設(shè)置成功, 但是這種方式只能暫時(shí)針對(duì)當(dāng)前命令行窗口設(shè)置PATH環(huán)境變量牛郑,關(guān)閉命令行窗口重新開(kāi)啟怠肋,echo $PATH
查看,則沒(méi)有之前的設(shè)置淹朋。所以不建議如此笙各。
3.2 永久添加到PATH
- 打開(kāi)/創(chuàng)建
$HOME/.bash_profile
钉答,由于我之前已經(jīng)創(chuàng)建了該文件/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
- 使用鏡像:
由于在國(guó)內(nèi)訪問(wèn)Flutter有時(shí)可能會(huì)受到限制,F(xiàn)lutter官方為中國(guó)開(kāi)發(fā)者搭建了臨時(shí)鏡像(不定期查閱避免失效)鲫懒,可以將如下環(huán)境變量也加入到用戶(hù)環(huán)境變量中:
#國(guó)內(nèi)用戶(hù)需要設(shè)置
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
- 保存.bash_profile,并退出編輯模式刽辙,刷新當(dāng)前窗口:
source ~/.bash_profile
關(guān)于zsh的配置
若終端為zsh窥岩,啟動(dòng)終端時(shí),默認(rèn)不會(huì)加載$HOME/.bash_profile
宰缤,有如下兩種方式處理颂翼,任選其一即可。
1慨灭、 可以在$HOME/.zshrc
文件中添加source ~/.bash_profile
指令朦乏,然后保存.zshrc并退出,刷新當(dāng)前窗口source ~/.zshrc
2氧骤、 直接將上述關(guān)于flutter的配置呻疹,添加到$HOME/.zshrc
文件,然后保存并退出筹陵,刷新當(dāng)前窗口source ~/.zshrc
查看設(shè)置結(jié)果:
echo $PATH
4刽锤、執(zhí)行檢查Flutter的安裝
執(zhí)行以下指令,檢查Flutter是否需要安裝其他依賴(lài):
flutter doctor
如本人執(zhí)行后朦佩,終端報(bào)錯(cuò)如下:
? 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
根據(jù)以上提示并思,執(zhí)行安裝。安裝過(guò)程中可能會(huì)空間不足语稠,則清除空間后繼續(xù)安裝宋彼。最后再次執(zhí)行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的支持仙畦。所以以上已經(jīng)滿(mǎn)足要求输涕。
5、 其他
官方也提供了以下 clone
的方式來(lái)安裝Flutter议泵,本人并沒(méi)具體實(shí)踐:
#國(guó)內(nèi)用戶(hù)需要設(shè)置官方提供的鏡像
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
#設(shè)置環(huán)境變量
export PATH="$PWD/flutter/bin:$PATH"
cd ./flutter
#檢查flutter
flutter doctor
配置IDE
本人選擇使用的是 VS Code占贫。當(dāng)然也可以配置其他編輯器,詳見(jiàn)官網(wǎng).
1先口、下載 VS Code
去 VS Code官網(wǎng) 下載安裝最新穩(wěn)定版本型奥。
2瞳收、安裝 Flutter 和 Dart 插件
- 啟動(dòng) VS Code
- View > Command Palette,即 查看 > 命令面板
- 輸入
install
厢汹,選擇 Extensions: Install Extensions螟深,即 擴(kuò)展:安裝擴(kuò)展 - 輸入
flutter
,在列表中選中 Flutter 進(jìn)行安裝(會(huì)同步安裝 Dart 插件) - 安裝完畢烫葬,點(diǎn)擊 Reload to Activate界弧,即 重新加載
3、檢查
- View > Command Palette搭综,即 查看 > 命令面板
- 輸入
doctor
垢箕,選擇 Flutter: Run Flutter Doctor - 查看 OUTPUT 面板查看信息,若有報(bào)錯(cuò)根據(jù)提示解決即完成配置兑巾。
創(chuàng)建第一個(gè) Flutter 項(xiàng)目
- 啟動(dòng) VS Code
- View > Command Palette条获,即 查看 > 命令面板
- 輸入
flutter
,選擇 Flutter: New Project - 輸入項(xiàng)目名蒋歌,點(diǎn)擊回車(chē)確認(rèn)
- 確認(rèn)項(xiàng)目存放的路徑
- 等待帅掘,當(dāng)看到 lib/main.dart 文件,就表示創(chuàng)建成功堂油。
運(yùn)行 Flutter 項(xiàng)目
- VS Code 窗口底部狀態(tài)條修档,選擇真機(jī)或者模擬器。
- Debug > Start Debugging府框,或者直接點(diǎn)擊 F5 吱窝。
- 等待程序啟動(dòng),可在 Debug Console (調(diào)試控制臺(tái))查看啟動(dòng)進(jìn)度寓免。