文章目录
  1. 1. 名词解释
    1. 1.1. API
    2. 1.2. SDK
    3. 1.3. Client
  2. 2. 开发流程
    1. 2.1. 串行开发
      1. 2.1.1. 优点
      2. 2.1.2. 缺点
    2. 2.2. 并行开发
      1. 2.2.1. 优点
      2. 2.2.2. 要求
  3. 3. 总结

作者:snowdream
Email:yanghui1986527#gmail.com
Github: https://github.com/snowdream
QQ 群: 529327615
原文地址:https://snowdream.github.io/blog/2016/10/20/mobile-app-develop-flow/

众所周知,移动应用一般都是按照预定周期进行迭代的,比如:一月发三版,两周发一版。

每一个迭代周期内,都会有产品,UI,研发,测试的逐步介入。

各种角色之间可能会有不同的依赖关系,他们并不能完全并行的工作。

本文主要从研发环节,以一个Android RD的视角,探索移动应用的开发流程。

名词解释

API

本文主要泛指服务端

SDK

本文主要泛指本地模块端。在模块化的背景下,移动应用被分隔成不同的模块。这些模块有可能是独立的,也有可能依赖于服务端(API)。

Client

本文主要泛指客户端

开发流程

串行开发

[串行开发流程图]

串行开发比较好理解,就是每个环节依次进行,每个环节都给出完整,可用的输出,提供给下一个环节,直至最后给测试。

优点

每个环节给出的输出都是经过充分测试,可用的成果。

缺点

每个环节要等上一个环节完成开发,之后,再进行开发。

结果往往是,下游环节的同学,在迭代初期,开发进程被阻塞,迭代后期,因为工期紧,而没日没夜的加班。

浪费时间和人力。

并行开发

[并行开发流程图]

并行开发就是API,SDK,Client各类开发人员约定接口/协议,同时进行开发。

至少分为两个阶段:

第一阶段:
上游环节和下游环节约定好接口/协议,并提供有接口但是无实现的依赖成果,输出给下游环节。

下游环节根据这些进行并行开发。

第二阶段:
上游环节完成接口/协议的实现,经过充分测试,输出完整的成果。

等待下游环节完成开发时,进行一次连接调试,确保业务流程完整,功能正常。

优点

各个环节约定好接口/协议之后,可以并行开发。

要求

这个需要各个环节的人员,进行及时,有效的沟通。

总结

根据之前的项目实践,我比较偏向于并行开发。

当然,对于移动应用开发流程的理解,大家见仁见智,欢迎讨论。

Fork me on GitHub