背景
在《手把手教你做個人 app》我有說過,開發一個 APP 很大程度依賴服務端:服務端提供介面資料,然後 APP 展示;開發一個 APP,還需要美工協助切圖。對於以前的我,沒介面,沒美工,照樣可以開發 APP ,可謂 So easy 來形容。
現在的我,依舊一線做著 Android 開發,不過是做著 Android Framework 開發,開始了 996,最近半年更是瘋狂,晚上十一二點下班也是常態……我已經兩年時間沒有寫 APP 開發了,然而我還是對 APP 開發保持了極大的關注,想著萬一以後還會回來做 APP 開發呢,因此內心有個想法,要不要從零做個 APP,維持戰鬥力。
APP 開發有個特點,技術更新太快,後面新出來的 Kotlin、Flutter 我都有試水,但都沒有實際專案操作,現在大家是不是都在用 Flutter 開發 APP 了吧?從零開發 APP 本想還用 Java 開發,這似乎沒什麼挑戰性,還是用 Flutter 玩下吧。
需求
既然是從零開發 APP,問題來了,要做成什麼樣子的 APP 呢?好的,產品經理即刻上身,現在開發者社群質量愈發下降,好的技術文章愈發的少,做個 APP,每天精選一篇優秀文章,樣式佈局跟公眾號一樣就好。
OK,站在專案經理角度,這種需求實現方式最好是小程式,但做小程式對我技術積累沒什麼幫助,還是用 Flutter 玩吧。
本系列文章面向人員:對 Flutter 開發 Android APP 有興趣,依舊是沒介面,沒美工,一個人做一個專案。
準備
我首先把 Android Studio 升級到 4.0,執行《Flutter 初嘗:從 Java 無縫過渡》例子,發現 Android Studio 根本連不上模擬器,也新建不了專案,報以下錯誤:
Could not find an option named "androidx". Run 'flutter -h' (or 'flutter -h') for available flutter commands and options.
複製程式碼
搜尋應該是 Flutter SDK 版本過低導致,本想使用命令flutter upgrade
更新 Flutter,又提示:
Waiting for another flutter command to release the startup lock...
複製程式碼
解決方案:刪除 Flutter 安裝目錄 /bin/cache 下 lockfile 檔案。
使用命令flutter upgrade
更新 Flutter 感覺不靠譜,始終沒有進度,乾脆去下了最新的,然而下載也不是那麼順利,是因為忘記加映象,終端執行:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
複製程式碼
這時終於有了進度,還是好慢,看到官方有使用清華大學映象:
export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
複製程式碼
嗯,下載速度起來了。
一切準備就緒,建立專案頁面,卡在一直 Creating Flutter Project,等了好久還是這樣,奶奶的,現在做 APP 開發已經這麼費勁了嗎?
哎,建立專案,提示 Creating Flutter Project ,還是網路問題,最終還是把:
export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
複製程式碼
新增到 .bash_profile 檔案,問題都得到了解決,新建的專案也能跑起來了。
最後,我還是經常遇到:
Waiting for another flutter command to release the startup lock...
複製程式碼
原因是不要同時操作兩個 Flutter 終端,或開兩個 Flutter 專案。
OK,準備工作做完了,下篇就是做這個專案需要用哪些技術,首先對技術進行預研下。
Flutter 技術交流群
還是建個 Flutter 技術交流群,方便對 Flutter 有興趣的進行溝通,加我微信,備註“Flutter”,我拉你進群。