Android 项目流程之基础篇(一)
个人 Android 项目开发流程总是和公司的不太一样,总的来说个人做项目或者为了学习和实践新技术,或者为了尽快完成项目赚外快,总是强调“多快好省”的。这里我就简述一下自己的开发流程,既是个人知识总结,也是为了和大家交流。
前提
要讲清项目构建流程,实际不需要把所有 Android 项目涉及的功能都走一遍,只需要挑一个常见的简单功能来讲就好了,其余功能完全可以依葫芦画瓢地实现。这里我们挑选最常见的登录和注册功能来说明,因为它涉及到了网络访问、本地存储、异步调度等极其常见的知识点,但又不会在任一点上有过高的知识要求。
工具选择
个人开发不要选择太笨重的工具,除非在公司做业务的时候用得非常熟练。这里列举出一些我比较偏爱的开发工具:
- 项目管理:Trello
- 文档记录+学习笔记:WorkFlowy 或 幕布
- 版本管理:Git
- igonre 文件生成:gitignore
- 模拟器:Genymotion
- Android 设备连接:Vysor
- API 测试:Postman
- 后端:Bmob 或 LeanCloud
- 数据统计:友盟
- 云存储:七牛
- 画图:Processon 或 PlantUML
- 原型设计:墨刀
- 代码搜索:Codota
需求分析
个人开发项目需求分析可以不用那么繁琐复杂,主要是紧紧围绕自己做项目的目的,分析要实现的功能。比如要学习和实践新技术的时候,就要注意这个技术能够解决什么问题、适用何种场景、优缺点如何,然后针对性地涉及一款应用来实现。反而如果项目要实际上线,则必须认真的明白用户的关注点在何处,应用的创新程度,解决了用户的那些痛点等。 以本次选择的简单演示项目为例,我们要实现:
- 简单的后端
- 用户登录
- 用户注册
- session 管理
- 用户登录
- 邮箱+密码登录
- 一次登录后自动登录
- 用户注册
然后,再在每个功能下简单的分析应用场景,编写“情景故事”,然后在细化拆分出不同的功能模块。另外,要注意额外的小功能尽量不要加太多,尽量挑选足够简单的以防止项目变形:比如这个演示项目可以加入 Slpash Screen,登录成功后的主页面可以加入无实际功能的侧滑菜单,这样让程序看起来更“像样子”一些。
当然,这个示例项目太简单了谈不上什么功能模块划分,即使额外加几个小功能也是如此。 基础篇就是要讲最基础的项目构建方式,不侧重功能实现,即使加上新的功能更符合实际需求、更易用,也不应该再添加新的功能了。
原型设计
实际上,一般项目中这个阶段的主导者应该是项目经理,程序猿只是辅助。不过,毕竟选定的项目简单,只有一个示例功能,完全可以自己搞定;而且,总会有自己想单独做项目的时候,这时候就必须靠自己了。 说实话,构建应用原型的工具实在太多了,功能上不会有特别大的差别,只是个人习不习惯的问题。我用墨刀是因为它界面简洁,功能够用,操作简单。 这次要用的演示项目可以访问 这里 去观看。 当然,如果活够熟练也可以只是简单画一个草图就开工,完全看个人喜好如何。
注意:个人开发原型不必太过细致,以说明流程为主,大体标出主要的 UI 元素即可,不需要把所有的应用细节都设计好了再依照它去开发。说白了,个人开发的时候,原型设计不应该占用开发者过多的精力和时间——“够用就好”。