iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
29
Mobile Development

Flutter---Google推出的跨平台框架,Android、iOS一起搞定系列 第 1

【Flutter基礎概念與實作】 Day1–Flutter是什麼,能吃嗎?

  • 分享至 

  • twitterImage
  •  

前言

大家好,我目前是清大資應所碩二的學生,應實驗室同學邀請一起報名參加鐵人賽。選Flutter作為主題是因為近年來跨平台框架正夯,而Flutter由於發展較晚中文的資料相對不多,希望能藉由這次的鐵人賽順便學習和分享我的心得,由於我剛接觸Flutter不到3個月所以這30天的內容我想也會相對基礎,希望能對剛想踏入Flutter坑的人一些幫助。

這30天的規劃大概會長這樣,視情況做更改:

Day1~Day2 安裝Flutter與介紹

Day3~Day5 Dart Language教學

Day6~Day8 檔案架構、基礎Widget、Package介紹

Day9~Day30 實作專案,目前App規劃的內容會有(Bloc Design Pattern、Firebase註冊登入、Google登入、接Youtube Api等等)

若你對以上內容有興趣就一起來走完這30天的鐵人賽吧^_^

什麼是Flutter

一個能建立原生跨平台的框架,用一種程式語言(dart)寫一份Code能同時讓iOSAndroid平台使用,也支援Web以及桌面應用程式。
Flutter因擁有豐富且方便的元件(widget)以及優秀的性能,目前正在快速發展。
只需要學習一種程式語言就能夠寫兩個平台的App,買一送一,好Flutter不學嗎?

Flutter的SDK(Software Development Kit)會將我們寫的程式碼編譯成native machine code,轉換成Android或iOS讀得懂的code
Flutter內建了許多常用的UI元件(widget),可以用像堆積木的方式建立你的介面

什麼是Dart

Dart是Google開發的程式語言,主要針對前端介面開發所使用的程式語言(mobile apps, web)

Dart屬於物件導向語言,語法結合了javascript、java、c#的特性,基本上只要你有程式基礎要上手是非常容易的。
Day3我會介紹Dart語言的用法,到時候我想你可能會抱怨這也太簡單了吧,是不是在拖時間R。

所以千萬別因為Flutter使用了沒聽過的Dart語言而讓你卻步了。

Flutter跟Dart的關係

Flutter是一個框架(內含許多專用的Library、widget),而Dart則是程式語言。 有點像Python與Django的關係

下載 Flutter(Windows)

方法一 (推薦)

  1. 安裝Git for Windows(https://git-scm.com/download/win)
  2. 下載Flutter SDK
    在C槽點滑鼠右鍵「Git bash here」,便會開啟git bash,你就可以在裡面下git command。

接著輸入git clone -b stable https://github.com/flutter/flutter.git
電腦就會自己去找Flutter官方發布的最新穩定版本並下載到當前資料夾。

方法二

  1. 到https://flutter.dev/docs/development/tools/sdk/releases 下載最新版flutter sdk
  2. 解壓縮到C槽

安裝Flutter

  1. 進到flutter資料夾,執行flutter_console.bat
    可以在這裡下flutter的指令,輸入「flutter doctor」,系統會自動去檢查電腦環境,並幫你下載Dart的SDK。
    最後會產生一個簡易的報表,這時你可能會看到一些錯誤或警告。
    別緊張,後面的步驟會一步一步處理它們。


  2. 設定環境變數,之後就可以直接在cmd或powershell使用flutter commands
    在使用者變數區域找到「path」變數,新增一個路徑到C:\flutter\bin

  3. 下載安裝Android Studio

Flutter relies on a full installation of Android Studio to supply its Android platform dependencies. However, you can write your Flutter apps in a number of editors; a later step will discuss that.


4. 設定模擬器
點一下右下「Configure」,選擇AVD Manager

Create Virtual Device,接著可以選一個你喜歡的螢幕尺寸

挑選android api level(建議選新一點的,Flutter只支援api level 16以上)後下載

最後你會得到一個全新的模擬器。
試著開啟它,第一次開啟模擬器可能會花一段時間,根據你的CPU及記憶體規格而會有所不同
這時候我們在powerShell或cmd輸入「flutter doctor」,可以看到系統偵測到我們開啟的模擬器了



  1. 安裝Flutter和dart plugin
    依照你的習慣可以使用Android Studio或是Visual Studio Code開發兩個IDE都有提供Flutter的plugin可供使用
    這裡我只示範Android Studio的安裝方式。一樣從Configure點選plugins,搜尋flutter安裝第一個。
    建議Flutter Snippts也可以安裝,之後寫程式很方便,這個外掛讓我們只要輸入縮寫就能產生常用的程式碼模板(當然你也可以自己設定喜歡的喔)
    安裝好後我們再來執行一次flutter doctor讓醫生來檢查檢查
    哇!!!全部都打勾了^_^/


今日總結

恭喜你邁向學習flutter的第一步,我們成功安裝設定好所有必要東西。
明天我會介紹Flutter框架以及Flutter和react native的比較


下一篇
【Flutter基礎概念與實作】 Day2–Flutter v.s React Native
系列文
Flutter---Google推出的跨平台框架,Android、iOS一起搞定30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
PeterLiao
iT邦新手 4 級 ‧ 2019-10-31 11:32:20

好詳盡的說明,超用心的細心截圖

謝謝你的肯定,希望對剛學習Flutter/程式的人有幫助

3
angel33er
iT邦新手 5 級 ‧ 2020-11-10 10:52:23

您好~感謝提供一列系flutter文章,
剛要學習Flutter,跟著做下來到安裝Flutter和dart plugin後執行flutter doctor,
還是沒有全部打勾,不知有沒有人遇到同樣的問題?
https://ithelp.ithome.com.tw/upload/images/20201110/20132508P4Y6HODqJw.jpghttps://ithelp.ithome.com.tw/upload/images/20201110/20132508GGtnlVMy0Y.jpg

看更多先前的回應...收起先前的回應...

你好,請問你的Android Studio的版本是什麼
我看網路上有些人用preview版遇到相同問題
另外你有下過 flutter doctor --android-licenses

angel33er iT邦新手 5 級 ‧ 2020-11-10 11:54:02 檢舉

Android Studio的版本是 4.1.0
剛執行flutter doctor --android-licenses的結果如下圖,
不確認中間有個警告訊息會有影響嗎?
因為再次執行flutter doctor一樣沒有全部打勾
https://ithelp.ithome.com.tw/upload/images/20201110/20132508JXeDaw3lt6.jpg
https://ithelp.ithome.com.tw/upload/images/20201110/20132508IFH9Nu7nr4.jpg

  1. 爬了一些文, 可能是4.1.0版有Bug
  2. 試試這個方法
step1 : run > flutter channel dev
step2 : run > flutter channel updrade
step3 : run > flutter config --android-studio-dir="C:\Program Files\Android\Android Studio"
angel33er iT邦新手 5 級 ‧ 2020-11-10 17:10:13 檢舉

解決了~這方法有效!
大感謝!!https://ithelp.ithome.com.tw/upload/images/20201110/20132508hzzI5WtjVO.jpg

lichitec iT邦新手 5 級 ‧ 2021-06-05 15:57:37 檢舉

bju0ulhi0511不好意思~我操作完以上步驟還是有沒打勾的項目,不知是哪裡出問題了呢
https://ithelp.ithome.com.tw/upload/images/20210606/2013815936Tg5tmBX9.png
https://ithelp.ithome.com.tw/upload/images/20210606/20138159Zm9JBXjF69.png
下了 flutter doctor --android-licenses可是沒有讓我accept的地方

0
c108181102
iT邦新手 5 級 ‧ 2021-05-22 15:53:13

你好~我想請問
當我執行到下面這邊時
進到flutter資料夾,執行flutter_console.bat
我就打不開那個.bat檔了

想詢問解決辦法

謝謝!!

可以請你提供完整的資料夾路徑嗎

如果你解壓縮在 C:\Program Files 下的路徑,可能會有權限問題

我一樣在C槽下載
不過現在.bat黨開出來了
但是我下命令 flutter doctor 之後
cmd視窗就直接關閉了

1
xnorgate
iT邦新手 5 級 ‧ 2021-09-08 21:14:51

https://ithelp.ithome.com.tw/upload/images/20210908/20141691WxP8JzoI7f.png

想請問flutter在創建好android虛擬機後
輸入flutter doctor出現請我
Run path/to/sdkmanager --install "cmdline-tools;latest"
但run下去就如圖報錯 該怎麼辦@@

0
云云
iT邦新手 5 級 ‧ 2023-10-22 16:29:46

在mac安裝flutter時遇到了問題:rudy已經更到最新的,為甚麼cocoapods還是不相容。有人能幫我解答嗎~https://ithelp.ithome.com.tw/upload/images/20231022/20142129V4DmbFMne5.png

我要留言

立即登入留言