# Flutter 基本運用
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構建高質量的原生用戶界面。 Flutter可以與現有的代碼一起工作。在全世界,Flutter正在被越來越多的開發者和組織使用,并且Flutter是完全免費、開源的。
Flutter擁有豐富的工具和庫,則可以使用Flutter作為視圖(View)層, 并可以使用已經用Java / ObjC / Swift完成的部分(Flutter支持混合開發)
支持Material組件和Cupertino widgets。
###一、Flutter 環境安裝
####1、下載源碼:
git clone -b beta https://github.com/flutter/flutter.git
####2、設置環境變量,打開~/.bash_profile文件
注意:/Users/yongliu/Documents/FlutterProject/flutter/bin需要替換為你本地Flutter項目的路徑,
添加
export PATH=$PATH:/Users/yongliu/Documents/FlutterProject/flutter/bin
此外國內需要修改鏡像路徑:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
####3、flutter doctor命令來執行Flutter的安裝程序
####4、Flutter可以使用如下三個IDE來開發程序
Android Studio
IntelliJ IDEA
Visual Studio Code
####5、Dart:提供Dart語言的支持
IDE 插件安裝即可
###二、創建Flutter應用
Flutter create demo_app
*demo_app 必須是小寫
Flutter packages get
*獲取依賴包
Flutter run
*運行程序
選擇模擬器查看結果便可成功得到第一個Flutter項目
###三、項目結構
###四、布局基礎
StatelessWidget 和 StatefulWidget的區別
StatelessWidget是狀態不可變的widget。初始狀態設置以后就不可再變化。如果需要變化需要重新創建。StatefulWidget可以保存自己的狀態。那問題是既然widget都是immutable的,怎么保存狀態?其實Flutter是通過引入了State來保存狀態。當State的狀態改變時,能重新構建本節點以及孩子的Widget樹來進行UI變化。
###五、網絡操作
發送一個請求
Response response;
response=await dio.get("/test?id=12")
// 請求參數也可以通過對象傳遞,上面的代碼等同于:
response=await dio.get("/test",data:{"id":12,"name":"wendu"})
print(response.data.toString());
###相關學習網站
Flutter中文文檔 [**FlutterGithub源碼**<https://github.com/flutter/flutter>]
Flutter中文文檔 <http://doc.flutter-dev.cn/>
Dart中文官網 <https://www.dart-china.org/>
寫了一個Demo源碼,請移步Github