在工作中,我们经常会遇到公司在没有做过多准备的情况下,就要推出一款移动端产品。而移动端又是整个流水线最后一个环节,很容易受到前面环节的影响,导致项目延期。
为了避免这种情况,笔者过去采用的办法就是主动出击,参与到每一个环节,与相关人员讨论以后由他们给出时间点,让项目从一开始就是可控的。笔者将整个开发环节主要分为产品设计、UI设计、后端接口、移动端。
下面笔者将结合自己的经验,给大家分享一下过往在开发中的一些处理方法。
1、产品设计(移动端产品设计)
产品设计决定了这个产品最终做成什么样,有多大难度,将要花费多少时间。在产品画原型图之前,移动端与产品先进行沟通,确定主要内容的展示方式以及主要业务界面跳转逻辑。
常见的流程就是产品画完原型,进行第一次评审,这次评审开发一般都会提出很多意见与建议,然后产品修改完了再进行评审。如果一开始就沟通好,达成一些统一的意见,可以减少原型图评审与修改次数。同时可以让移动端提前清楚产品要做成什么样,而做一些技术储备。
这里大家可能会有疑问,产品什么东西都没出来,怎么进行沟通?其实最常见的方法就是参考一些成熟的APP的展示方式以及界面跳转逻辑,来确定我们要做成什么样。
2、UI设计
原型图确定以后,与UI设计进行讨论,尽量将内容相近的界面模块化(例如:列表Cell样式,内容选择样式,表单输入样式等)。
这样可以减少效果图的数量,在相似的地方只需要指出使用哪一个模板。同时开发人员也可以将这些模板进行控件封装,增加重用性,节约时间。
3、后端接口
在有限的时间内,后端既需要完成业务功能,还需要提供网关层接口,同时还要将接口文档化,这个过程工作量较大。这时候移动端可以在与后端达成一定规范的情况下,完成接口的定义,并形成文档。后端在完成接口内容的时候只需要参照接口文档,结合实际做细微调整即可。移动端可以参照接口文档完成实体类,接口请求的业务层内容。
这一点很多移动端开发是不能接受的,觉得这是给自己增加工作量。其实这样由我们自己定义的接口,是我们内心最希望对方提供的内容,这样可以避免在接口内容上各种撕。并且前期移动端工作量并不大,与其等着,不如做点对后期有益的工作。
4、移动端
移动端会根据功能模块进行优先级排列,UI设计和后端接口根据这一优先级提供对应模块的内容。原型图确定以后,移动端将根据原型进行界面与跳转逻辑的处理。UI设计提供效果图以后,只需要进行布局调整与贴图。基本在所有界面处理完成的时候,部分接口也已经准备就绪。
这时候可以进行接口联调,因为接口是按模块提供的,在联调接口的同时可以将该模块所有内容完成,并进行模块测试,从开发阶段就保证完成内容的质量。当开发结束的时候基本能够保证APP没有严重bug,测试只需要进行验收即可快速上线。
写在最后
因为不清楚这个处理过程对大家是否真的有帮助,所以笔者在完成此文以后与朋友一起就这个过程讨论过,部分人觉得太理想化。其实这个过程能否顺利,取决于整个项目参与人员,尤其是去主导这个过程的移动端人员。
笔者用这种方式在极度不愿意配合的团队和配合非常默契的团队都尝试过,最终的结果都不坏,只是曲折程度有多大而已。在这个过程中最重要的就是沟通,沟通,再沟通。这个流程只是解决问题的一个方法,只有真正的参与其中,才能找到更好的方法。
本文作者:罗霖(点融黑帮),点融网成都团队高级iOS开发工程师,有七年iOS开发经验。个人比较喜欢运动,尤其是踢足球,因为通过运动可以认识很多新朋友。