一、什么是Flutter及它的優(yōu)勢?
1.1 定義
Flutter是谷歌使用Dart語言開發(fā)的移動應(yīng)用開發(fā)框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面,與react native共同作為解決移動多端問題的主流方式。它解決了跨平臺打包應(yīng)用從前的H5 app性能不足的問題,從前的H5 app 只能渲染到最大40幀的流暢度,但是Flutter是使用GPU渲染,可以達(dá)到原生的120幀,所以對于動畫或復(fù)雜界面Flutter擁有高效平滑處理的能力,并且它支持原生安卓和IOS的設(shè)計(jì)模式及原生調(diào)用,工作效率及實(shí)現(xiàn)效果比原生應(yīng)用甚至可以達(dá)到相似度90%以上,目前市場上淘寶、閑魚已經(jīng)使用了這門技術(shù);包括一些特效要求較多的例如跑步APP,都是可以實(shí)現(xiàn)的。
1.2 優(yōu)勢
1.2.1 快速開發(fā)
Flutter的熱重載可幫助您快速地進(jìn)行測試、構(gòu)建UI、添加功能并更快地修復(fù)錯誤。在iOS和Android模擬器或真機(jī)上可以在亞秒內(nèi)重載,并且不會丟失狀態(tài)。
1.2.2 支持原生的設(shè)計(jì)風(fēng)格及motion
Flutter支持安卓原生的Material Design設(shè)計(jì)風(fēng)格以及IOS原生的Cupertino widget設(shè)計(jì)風(fēng)格,F(xiàn)lutter包含了許多核心的widget,如滾動、導(dǎo)航、圖標(biāo)和字體等。具有豐富的motion API,滑動效果平滑自然。具有高仿原生APP的能力。
1.2.3 現(xiàn)代的響應(yīng)式框架
使用Flutter的現(xiàn)代、響應(yīng)式框架,和一系列基礎(chǔ)widget,輕松構(gòu)建您的用戶界面。使用功能強(qiáng)大且靈活的API(針對2D、動畫、手勢、效果等)解決艱難的UI挑戰(zhàn)。
1.2.4?訪問本地功能和SDK
通過平臺相關(guān)的API、第三方SDK和原生代碼讓您的應(yīng)用變得強(qiáng)大易用。 Flutter允許您復(fù)用現(xiàn)有的Java、Swift或ObjC代碼,訪問iOS和Android上的原生系統(tǒng)功能和系統(tǒng)SDK。
1.2.5 統(tǒng)一的應(yīng)用開發(fā)體驗(yàn)
Flutter擁有豐富的工具和庫,可以幫助您輕松地同時在iOS和Android系統(tǒng)中實(shí)現(xiàn)您的想法和創(chuàng)意。 如果您沒有任何移動端開發(fā)體驗(yàn),F(xiàn)lutter是一種輕松快捷的方式來構(gòu)建漂亮的移動應(yīng)用程序。 如果您是一位經(jīng)驗(yàn)豐富的iOS或Android開發(fā)人員,則可以使用Flutter作為視圖(View)層, 并可以使用已經(jīng)用Java / ObjC / Swift完成的部分(Flutter支持混合開發(fā))。
二、Windows系統(tǒng)安裝Flutter
這里以windows系統(tǒng)為例。
macos安裝文檔請查看:https://flutter.io/setup-macos/
linux安裝文檔請查看:https://flutter.io/setup-linux/
2.1 基本要求
(一) 操作系統(tǒng):Windows 7 SP1或更高版本(64位)
(二) 磁盤空間:400 MB(不包括IDE /工具的磁盤空間)。
(三) 對Android Studio的要求:需要安裝3.0 或者更高的版本。
(四) Flutter支持的sdk環(huán)境:Android 4.1(API 16)或者更高版本。
(五) 對Android模擬器鏡像的要求:推薦使用x86或者x86_64鏡像。
(六) 工具:git for windows
2.2 下載Flutter SDK
2.2.1 git方式
新建一個目標(biāo)文件夾,右鍵git bash here鍵入命令":
git clone -b beta https://github.com/flutter/flutter.git
2.2.2 官網(wǎng)下載
https://flutter.dev/docs/development/tools/sdk/releases#windows
2.3 環(huán)境變量配置
2.3.1 使用鏡像
由于在國內(nèi)訪問Flutter有時可能會受到限制,F(xiàn)lutter官方為中國開發(fā)者搭建了臨時鏡像,可以將如下環(huán)境變量加入到用戶環(huán)境變量中:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn


2.3.2 環(huán)境變量
如果想在命令行中使用 flutter 命令,你需要添加flutter的路徑到path中去。這個和配置java環(huán)境變量是同樣的做法,找到flutter安裝路徑復(fù)制后找到PATH編輯,加入到最后,別忘了每個環(huán)境變量用;分割開, 確定后保存即可

2.3.3 運(yùn)行Flutter doctor
打開一個新的命令提示符或PowerShell窗口并運(yùn)行以下命令以查看是否需要安裝任何依賴項(xiàng)來完成安裝,。目前,F(xiàn)lutter不支持像Git Bash這樣的第三方shell。
flutter doctor
這個命令初次運(yùn)行可能會很慢,F(xiàn)lutter會自動安裝所需依賴,并進(jìn)行編譯

2.3.4 Android Studio配置
2.3.4.1 檢查studio版本及更新
Flutter對Android Studio的要求:需要安裝3.0?或者更高的版本,安裝jdk,保持sdk,sdk Platform-Tools在較高的版本,低版本會提示too old,此時可以在sdk manager中管理版本更新,舊版本可以點(diǎn)擊對勾后apply即可更新:

2.3.4.2 安裝Flutter和Dart插件
File --> settings --> Plugins --> Browse repositories
只要安裝Flutter即可,下載時AS會檢查是否裝有Dart插件,如沒有會提示你一起下載,下載后重啟AS即可。

2.3.5 附錄:Flutter常見命令
常用命令含義
--version 查看Flutter版本
-h或者**--help** 打印所有命令行用法信息
analyze 分析項(xiàng)目的Dart代碼。
buildFlutter 構(gòu)建命令。
channel 列表或開關(guān)Flutter通道。
clean 刪除構(gòu)建/目錄。
config?配置Flutter設(shè)置。
create?創(chuàng)建一個新的Flutter項(xiàng)目。
devices?列出所有連接的設(shè)備。
doctor?展示了有關(guān)安裝工具的信息。
drive?為當(dāng)前項(xiàng)目運(yùn)行Flutter驅(qū)動程序測試。
format?格式一個或多個Dart文件。
fuchsia_reload?在Fuchsia上進(jìn)行熱重載。
help?顯示幫助信息的Flutter。
install?在附加設(shè)備上安裝Flutter應(yīng)用程序。
logs?顯示用于運(yùn)行Flutter應(yīng)用程序的日志輸出。
packages?命令用于管理Flutter包。
precache?填充了Flutter工具的二進(jìn)制工件緩存。
run?在附加設(shè)備上運(yùn)行你的Flutter應(yīng)用程序。
screenshot?從一個連接的設(shè)備截圖。
stop?停止在附加設(shè)備上的Flutter應(yīng)用。
test?對當(dāng)前項(xiàng)目的Flutter單元測試。
trace?開始并停止跟蹤運(yùn)行的Flutter應(yīng)用程序。
upgrade?升級你的Flutter副本。
三、新建Flutter項(xiàng)目
3.1 New Flutter Project
File --> New Flutter Project,選擇Flutter application ,點(diǎn)擊next,輸入一個工程名字。注意,工程名必須是全小寫,可以用下劃線分隔。

3.2 設(shè)置包名
下方的支持IOS和kotlin 根據(jù)自己需要勾選。

3.3 模擬器運(yùn)行
注意這里,是否是no devices狀態(tài)且底部沒有可選虛擬機(jī),若沒有需要配置adb

配置ADB:

ANDROID_HOME配置:

接下來就可以運(yùn)行了
