龙空技术网

一个APP是如何被开发出来的

五车八斗青年 247

前言:

现在朋友们对“第五代html”大体比较关心,各位老铁们都想要剖析一些“第五代html”的相关文章。那么小编也在网摘上收集了一些对于“第五代html””的相关资讯,希望小伙伴们能喜欢,你们一起来学习一下吧!

这是一个系列的文章。系列主题《人人都可以懂的互联网技术》本系列主要分为三大部分:设计,技术,商业。喜欢的朋友记得 右上角点击【关注】,持续更新。

【第零章】互联网/技术公司是怎么运转的?

【02】你正在使用的APP是怎么被制造出来的(下)

继上文中【 你正在使用的APP是怎么被制造出来的 】;经过电光火石间,“深思熟虑”后冒出来的想法,“仔细”调研,“友好”研讨,“认真”准备,迈出了前半步之后,要准备开始动手迈出后半步了,然后,接着开会吧。

兴奋地搓搓小手

完善的落地计划

团队针对自己的职能部分做出仔细的评估之后,大家坐到一起,开始描述(SHOW)自己的前期准备,用什么主色调,什么开发语言,什么框架,测试流程等等;一阵专属的高光时刻之后,大家开始进入定项目落地时间表的环节;

先需要制定milestone(里程碑),即什么时候上线。然后各团队负责人就可以开始拆解任务提交各自的模块时间表。经过友好和睦的讨论之后,大家对未来充满信心,对自己负责的模块是时间点表示完全没有问题,就开始动手了。

开工了

分工合作

设计的小伙伴首当其冲,在和产品经理深入沟通后,开始动手制作设计图;这里主要是解决,这个APP最终长什么样。这个实际过程中,往往包含了平面设计和交互设计。

平面设计(graphic design),也称为视觉传达设计,是以“视觉”作为沟通和表现的方式,透过多种方式来创造和结合符号、图片和文字,借此作出用来传达想法或讯息的视觉表现。

交互设计(Interaction Design),是定义、设计人造系统的行为的设计领域,它定义了两个或多个互动的个体之间交流的内容和结构,使之互相配合,共同达成某种目的。

简单来说,就是让APP看上去怎么好看,排版布局怎么让才用得更加舒服。这里往往产品经理要和设计师投入大量的时间去做讨论和处理。而设计图也并不是一套走天下,如果是涉及不同的平台(Android iOS PC),还要对应不同的平台规范做出不同的处理和调整以符合平台用户使用规范。

一般来说,设计师是不会一下子把图全部做完的,因为面对一个新的,没有固定风格的产品,设计师往往会先出几套不同的设计和配置,叫做风格稿。然后找团队小伙伴(客户/用户)评审一下,让大家挑选一个。在边缘疯狂试探之后确定风格之后才输出完整的一套设计图。要不,万一大家都不喜欢,做完一套还有三套,这是件杯具的事情。

设计

开发的小伙伴这里的分工可能稍微细一点。有架构工程师,前端工程师,APP工程师,服务端(后端)工程师。大家在完成前期的评估之后,架构师会根据需求制定系统开发上的架构,就是这个系统,我们打算怎么做,怎么分模块,怎么实现,有那些技术细节,有哪些难点。

接下来是服务端工程师,根据产品需求和架构,进行服务端开发,也就是我们说的后端。这里是整套系统的核心逻辑和流程,但是用户看不见但是不可获取的部分,所以也很形象得叫做【后端】,因为用户看不见摸不着,但是没有不行。服务端工程师根据需求实现逻辑,算法,数据结构和存储,并输出接口(API)和文档。

API很好理解,其实计算机就是一个【输入-处理-输出】的过程,但是输入从哪里输入呢,就是从API接口输入,然后根据逻辑进行处理之后返回输出结果。

比如:你输入了手机号,然后把你的手机号通过API接口发送给服务端,服务端经过一系列的逻辑判断和处理,最后给你发了一个验证码,并返回告诉你,好了,请输入验证码,这就完成了一个闭环操作,APP前端就会根据提示你,请输入验证码。

与后端工程师对应的,就是前端工程师了(包括前端工程师和APP工程师,APP工程师又包含主流的Android和iOS工程师),一般我们把网页/小程序的开发工程师称为前端工程师。

H5,其实也是网页;HTML5是第五代HTML语言标准,只是大家叫多了就用H5来代替网页了。

小程序在很多技术层面上体现上和网页差不多,所以也是前端工程师负责了。

这里有点绕,总而言之,负责编写被用户看到的,与用户交互的界面的工程师统称前端工程师,也有叫界面工程师的。

前端工程师根据设计师的界面和产品需求和逻辑,编写用户界面,嵌入逻辑,将用户行为和数据通过API接口与服务端进行交互并获取对应的结果显示。

开发

测试的小伙伴,根据产品经理的需求,编写对应的测试用例。简单来说,就是,产品设计是用户填写了手机号之后能获取登录/注册验证码,那么前置的准备就是在登录/注册界面上有一个输入框和提交按钮,过程就是输入手机号之后,有一个提交的按钮或者触发方式,然后期望得到一个登录/注册的验证码短信。这就是一个简单的测试用例,当然,测试工程师不会按照你预设好的套路进行的,他们会考虑到使用过程中的一系列问题,比如输少以为手机号,这个时候你应该是给个错误提醒,而不是提交成功。

然后拿到开发工程师打包好的APP进行 界面/流程/逻辑等等的测试,并将问题(BUG)记录下来反馈给产品经理或者开发部门。

测试

验收交付

大家热火朝天,一顿操作猛如虎,齐心协力地把第一个版本,一般叫做阿尔法版本或者贝塔(Beta)版本给整出来了。

可以交付验收了

当然,这过程中,产品经理和项目经理也不是闲着打酱油,会跟进团队的开发进度,遇到的问题,解答问题,记录、解决、升级在过程中发现的问题,可以理解成是奶爸和监军的模式。

完成之后,就要进行验收交付,大家把做好的项目产品给装上,业务部门(一般是产品部门或者老板/客户)开始使用,体验,检查是否达到预期,是否实现了预设目标,达到里程碑。同事开发过程中的相关文档,记录整理归档备案。运维工程师也要开始忙前忙后进行准备保障即将到来的正式线上环境的正常运转。

发布准备

发布准备一般包含两个部分,一个是在项目立项完成之后就开始了,诸如域名的申请注册,备案,正式服务器的准备,各大应用市场的账户,认证,资质的申请等等比较零散的事情。

第二部分就是上线前,准备市场介绍材料,客服的准备工作,系统项目的打包,签名,部署正式环境等等。

Ready

上线

然后就是项目产品上线了。大家开开心心地期待大量用户涌入,投资人(VC)蜂拥而至,用户数据蹭蹭蹭地暴涨,走上人生巅峰。

上线了

下一个循环

上面的只是想想而已,接着,一般情况下,就会有各种用户反馈,各种需求,各种BUG,各种投诉纷至沓来,产品经理收到之后,要根据情况做出调整和处理,和用户团队沟通,然后进入下一个迭代流程,把从前文开始的流程再轮回一次。

标签: #第五代html