APP 開發(fā)從 0 到 1(一)需求與準(zhǔn)備

背景
在《手把手教你做個(gè)人 app》我有說(shuō)過(guò),開發(fā)一個(gè) APP 很大程度依賴服務(wù)端:服務(wù)端提供接口數(shù)據(jù),然后 APP 展示;開發(fā)一個(gè) APP,還需要美工協(xié)助切圖。對(duì)于以前的我,沒接口,沒美工,照樣可以開發(fā) APP ,可謂 So easy 來(lái)形容。
現(xiàn)在的我,依舊一線做著 Android 開發(fā),不過(guò)是做著 Android Framework 開發(fā),開始了 996,最近半年更是瘋狂,晚上十一二點(diǎn)下班亦是常態(tài)……我已經(jīng)兩年時(shí)間沒有寫 APP 開發(fā)了,然而我還是對(duì) APP 開發(fā)保持了極大的關(guān)注,想著萬(wàn)一以后還會(huì)回來(lái)做 APP 開發(fā)呢,因此內(nèi)心有個(gè)想法,要不要從零做個(gè) APP,維持戰(zhàn)斗力。

APP 開發(fā)有個(gè)特點(diǎn),技術(shù)更新太快,后面新出來(lái)的 Kotlin、Flutter 我都有試水,但都沒有實(shí)際項(xiàng)目操作,現(xiàn)在大家是不是都在用 Flutter 開發(fā) APP 了吧?從零開發(fā) APP 本想還用 Java 開發(fā),這似乎沒什么挑戰(zhàn)性,還是用 Flutter 玩下吧。
需求
既然是從零開發(fā) APP,問(wèn)題來(lái)了,要做成什么樣子的 APP 呢?好的,產(chǎn)品經(jīng)理即刻上身,現(xiàn)在開發(fā)者社區(qū)質(zhì)量愈發(fā)下降,好的技術(shù)文章愈發(fā)的少,做個(gè) APP,每天精選一篇優(yōu)秀文章,樣式布局跟公眾號(hào)一樣就好。
OK,站在項(xiàng)目經(jīng)理角度,這種需求實(shí)現(xiàn)方式最好是小程序,但做小程序?qū)ξ壹夹g(shù)積累沒什么幫助,還是用 Flutter 玩吧。
本系列文章面向人員:對(duì) Flutter 開發(fā) Android APP 有興趣,依舊是沒接口,沒美工,一個(gè)人做一個(gè)項(xiàng)目。
準(zhǔn)備
我首先把 Android Studio 升級(jí)到 4.0,運(yùn)行《Flutter 初嘗:從 Java 無(wú)縫過(guò)渡》例子,發(fā)現(xiàn) Android Studio 根本連不上模擬器,也新建不了項(xiàng)目,報(bào)以下錯(cuò)誤:
Could?not?find?an?option?named?"androidx".?Run?'flutter?-h'?(or?'flutter???-h')?for?available?flutter?commands?and?options.
搜索應(yīng)該是 Flutter SDK 版本過(guò)低導(dǎo)致,本想使用命令flutter upgrade更新 Flutter,又提示:
Waiting?for?another?flutter?command?to?release?the?startup?lock...
解決方案:刪除 Flutter 安裝目錄 /bin/cache 下 lockfile 文件。
使用命令flutter upgrade更新 Flutter 感覺不靠譜,始終沒有進(jìn)度,干脆去下了最新的,然而下載也不是那么順利,是因?yàn)橥浖隅R像,終端運(yùn)行:
export?PUB_HOSTED_URL=https://pub.flutter-io.cn
export?FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
這時(shí)終于有了進(jìn)度,還是好慢,看到官方有使用清華大學(xué)鏡像:
export?PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
export?FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
嗯,下載速度起來(lái)了。
一切準(zhǔn)備就緒,創(chuàng)建項(xiàng)目頁(yè)面,卡在一直 Creating Flutter Project,等了好久還是這樣,奶奶的,現(xiàn)在做 APP 開發(fā)已經(jīng)這么費(fèi)勁了嗎?
哎,創(chuàng)建項(xiàng)目,提示 Creating Flutter Project ,還是網(wǎng)絡(luò)問(wèn)題,最終還是把:
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 文件,問(wèn)題都得到了解決,新建的項(xiàng)目也能跑起來(lái)了。
最后,我還是經(jīng)常遇到:
Waiting?for?another?flutter?command?to?release?the?startup?lock...
原因是不要同時(shí)操作兩個(gè) Flutter 終端,或開兩個(gè) Flutter 項(xiàng)目。
OK,準(zhǔn)備工作做完了,下篇就是做這個(gè)項(xiàng)目需要用哪些技術(shù),首先對(duì)技術(shù)進(jìn)行預(yù)研下。
Flutter 技術(shù)交流群
還是建個(gè) Flutter 技術(shù)交流群,方便對(duì) Flutter 有興趣的進(jìn)行溝通,加我微信,備注“Flutter”,我拉你進(jìn)群。
