APP 開發從 0 到 1(一)需求與準備

吳小龍同學發表於2020-07-05

背景

在《手把手教你做個人 app》我有說過,開發一個 APP 很大程度依賴服務端:服務端提供介面資料,然後 APP 展示;開發一個 APP,還需要美工協助切圖。對於以前的我,沒介面,沒美工,照樣可以開發 APP ,可謂 So easy 來形容。

現在的我,依舊一線做著 Android 開發,不過是做著 Android Framework 開發,開始了 996,最近半年更是瘋狂,晚上十一二點下班也是常態……我已經兩年時間沒有寫 APP 開發了,然而我還是對 APP 開發保持了極大的關注,想著萬一以後還會回來做 APP 開發呢,因此內心有個想法,要不要從零做個 APP,維持戰鬥力。

APP 開發從 0 到 1(一)需求與準備

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”,我拉你進群。

APP 開發從 0 到 1(一)需求與準備

相關文章