从零开发 APP(一)需求和准备

image

背景

在《手把手教你做个人 app》我有说过,开发一个 APP 很大程度依赖服务端:服务端提供接口数据,然后 APP 展示;开发一个 APP,还需要美工协助切图。对于以前的我,没接口,没美工,照样可以开发 APP ,可谓 So easy 来形容。

现在的我,依旧一线做着 Android 开发,不过是做着 Android Framework 开发,开始了 996,最近半年更是疯狂,晚上十一二点下班也是常态……我已经两年时间没有写 APP 开发了,然而我还是对 APP 开发保持了极大的关注,想着万一以后还会回来做 APP 开发呢,因此内心有个想法,要不要从零做个 APP,维持战斗力。

image

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


image