一周内从零开发一款应用商店的实战经验
一周内从零开发一款应用商店的实战经验
本文将介绍如何在一周内从零开发一个应用商店。文章详细描述了任务拆分、开发实现等具体步骤,并给出了具体的时间估算,对于Android开发人员具有较高的参考价值。
1. 前言
为了对Android操作系统内的自研应用和第三方应用进行管控,研发团队决定开发一款应用商店。由于没有产品经理、设计师和测试人员的参与,开发工作主要由OS/应用开发人员和云端开发人员共同完成。
2. 任务拆分
2.1 产品需求拆分
由于是研发内部需求,没有产品经理参与,因此需要通过调研已有产品,并结合过往应用商店开发经验,将需求大致拆分为云端需求与终端应用需求两部分。
2.1.1 云端需求
云端主要工作包括:编写API接口文档、开发用于上传App的后台页面、开发3个API接口等。总耗时约1人/周。
2.1.2 终端应用需求
终端应用主要工作包括:应用列表展示、应用详情展示、应用下载功能、应用安装功能、版本校验功能和应用打开功能等。总耗时约1人/周。
2.2 开发工作拆分
2.2.1 云端开发工作拆分
- 后台列表(页面)
- 后台详情页(页面)
- 数据库设计
- 后台数据保存
- API接口设计开发
- 断点上传下载接口开发
- 联调API接口(应用列表、应用详情、应用下载)
- 整理优化应用商店代码
- 编写API接口文档
2.2.2 终端应用开发工作拆分
- 完成仓库创建、初版代码提交
- 开发App列表展示页、App详情展示页
- 接入文件下载Downloader框架
- 开发应用商店的App下载功能
- 开发云端接口(应用列表、应用详情、应用下载)
- 联调云端接口(应用列表、应用详情、应用下载)
- 开发应用安装
- 应用md5验证
- 应用版本校验
- 安装应用
- 整理优化应用商店代码
- 接受客户建议,微调UI设计
3. 开发实现
3.1 完成仓库创建、初版代码提交
基于Android应用开发框架轮子构造应用商店初版代码,耗时约0.5人/天。
3.2 开发App列表展示页、App详情展示页
- 列表展示页主要是RecyclerView与Adapter、及其xml布局的实现,耗时约0.4人/天。
- 详情展示页主要是xml布局的实现,耗时约0.1人/天。
3.3 接入文件下载Downloader框架
需要调研文件断点下载方案、Downloader框架易用性与稳定性,以及接入Downloader框架等,耗时约1人/天。
3.4 开发应用商店的App下载功能
处理点击按钮后的下载逻辑,直至成功保存完整的Apk文件到设备中,耗时约0.5人/天。
3.5 开发云端接口(应用列表、应用详情、应用下载)
主要基于网络请求框架,定制云端提供的get/put请求,耗时约0.5人/天。
3.6 联调云端接口(应用列表、应用详情、应用下载)
涉及到请求头字段对齐、Downloader框架断点调试下载接口、后台应用Apk及其信息上传等工作,耗时约1人/天。
3.7 开发应用安装
列表展示页先判断当前应用是否安装,再判断应用的版本号,云端版本过低则按钮显示打开应用,否则显示下载按钮;当用户点击下载完成后,先校验应用MD5是否一致,应用MD5一致则调用系统安装方法进行安装,耗时约0.5人/天。
这一块能比较快速的完成,得益于使用blankj提供的工具包,如下:
- 判断应用是否安装:AppUtils.isAppInstalled(packageName)
- 判断应用版本号:AppUtils.getAppVersionCode(packageName)
- 获取文件MD5:FileUtils.getFileMD5ToString(savePath)
- 打开应用:AppUtils.launchApp(packageName)
- 安装应用:AppUtils.installApp(savePath)
3.8 整理代码、需求优化
将应用商店发给客户和用户试用,做一些局部优化,耗时约0.5人/天。
4. 小结
至此,应用商店应用开发完成。从一个想法,到产品需求拆分,再到开发工作拆分,然后开发实现,最后自测通过并发给客户、用户使用,一周搞定!