作者:简单点
链接:https://www.zhihu.com/question/22999185/answer/155469014
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

开发App的过程显得有点专业,不过本文不涉及编码,仅是简单描述一下App从无到有的一个过程。希望能让不懂开发的人也能够知道一个App是如何诞生的,这其中会经历哪些过程。

需求分析

软件开发最重要的一步就是需求分析,这个过程我们都是由商务人员和产品经理协作完成的。一般的客户很多想法都是停留在天马行空的阶段,我们会帮客户分析其中不合理的地方,并给客户提供一个完善的解决方案,最终梳理出完整的需求。

上面是一张简单的关于需求的思维导图,仅供参考。为了方便观看和保护隐私,我删减了部分内容。

原型设计 && UI设计

需求确定后,产品经理就会开始画App原型。所谓原型,其实指的就是App的草图,用于确定App界面大概设计方向。我们画原型使用的是专业设计工具(Axure或Justinmind),所以原型本身也具备了一些简单的交互功能。

原型确定后,我们萌萌哒设计师就要对它进行美容啦。

开发

当App的设计定稿,接下来就交给开发者,逐步去实现各个功能。通常而言,一个完整的App至少包括2个端,即前端和后端。

框架搭建

项目的技术负责人会根据需求文档,对项目需要用什么技术栈、集成哪些SDK进行评估,最终整理出一个项目的框架。这个框架是App能稳定运行的支柱,差的框架会导致结构、代码混乱,难以维护,极大影响开发和维护效率。

界面开发 & API设计

App的数据都是从后台获取,这就需要后台提供一系列的接口提供App调用。这些接口,就称作Api。

设计和实现Api需要不少的时间,与此同时,前端的小伙伴也着手开发App的界面。我们会划分出几个模块,便于团队协作开发。

比如上图,最简单的划分方法,就是把下面的5个tab划分为5个模块,每人负责其中2-3个同时开发。

界面开发是个纯苦力活,这个过程常常要因为线条粗细、字体颜色、字体大小、字体对齐等问题作相应的调整,最终才能出来一个让人满意的界面。

字体颜色会影响UI的层次感,所以必须要严格一致。

功能实现

界面完成时部分API也完成了,这时就可以在app内集成API,编写app的业务逻辑。这也是一个苦力活,实现业务最关键的一个步骤。项目的业务复杂度决定了这个过程的苦逼程度。

没集成之前功能是这样的,都是一些假数据。

集成之后,都是真实数据,且点击会有页面跳转。

细节打磨

App集成了数据,最后一步就是对细节进行打磨。比如使用一些动画提高体验,或优化交互流程等。举一个简单的例子:
(下图会动,请点击查看动图)

文字切换是平滑过渡看起来不突兀,如果直接一闪而过,就显得很生硬。

软件测试

alpha阶段

把所有功能都实现完就完事了么?第一版本的app通常相当不稳定,开发完后会交给测试人员测试,找出软件存在的一些问题提交给开发者。开发者再对问题进行修复,如此迭代直到稳定。

alpha阶段的软件会存在大量的bug

开发人员必须要修复相关的bug

Beta阶段

经过内部测试后,就可以发布公测版了。此时可以把软件交给客户进行公开测试。beta版的软件一般不会出现常见的bug,在公测过程中,会发现隐藏很深的一些问题,开发人员再根据反馈进行修复。

上线

最后,呈现在大家面前的就是一个很稳定的App,可以发布到应用市场啦。

如何开发一个APP——转自知乎的更多相关文章

  1. 后移动互联网时代:到底还要不要开发一个App?

    后移动互联网时代,到底是什么样的一个时代? 首先,后移动互联网时代中,产生头部应用的几率变小了,像微信这样巨头式的App很难在产生第二个.其次,后移动互联网时代,物联网发展迅速,所有的智能硬件都需要一 ...

  2. 成都开发一个app大概好多钱?

    目前,移动APP已成为很多小企业业务销售的新渠道之一,于是问题来了,一般想到要开发一个自己的app,就想问:开发一个app好多钱?去百度.360.搜狗等等平台去找相关的app开发公司咨询或者问问朋友有 ...

  3. 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息

    作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...

  4. 开发一个App要多少钱?APP开发报价单,APP开发外包有哪些注意事项-广州达到信息www.ddapp.com.cn

    来源:广州达到信息著作权归广州达到信息所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作为一个APP开发从业者,经常会有人问到:开发一个App要多少钱?下面针对这个问题来好好解答解答正经的谈 ...

  5. 开发一个App的成本是多少?

    英文出处:savvyapps.欢迎加入翻译小组. 在最近的一个会议上,一个叫Bob的老顾客引用了<App Savvy>(<放飞App:移动产品经理实战指南>)中探讨研发一个io ...

  6. 行内人解读开发一个App需要多少钱?

    对于很多互联网的创业者来说,评估前期的创业成本是很重要的.在这几年的创业大潮中,伴随着“互联网+”和“互联网思维”的普及,很多创业项目选择了开发app作为创业项目的载体.在我接触到的很多创业者,找Ap ...

  7. 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)

    我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...

  8. 开发一个 app 有多难?

    171 个回答 默认排序​ 道衍天机 有事情的加微信1293190838找我 1,150 人赞同了该回答 ----------------------------------------------- ...

  9. 独立开发一个App是一种怎样的体验?

    (本文原文是我在知乎上写的一篇回答:独立开发一个 App 是一种怎样的体验?) UWP业余开发者表示,非常愿意做一股清流.在喧闹无比的iOS和Android平台,为了给应用造势,太多人费尽心思,勾心斗 ...

随机推荐

  1. Mapbox 地图实验室

    Mapbox 地图实验室 Learn with Mapbox https://www.mapbox.com/community/education/ https://labs.mapbox.com/e ...

  2. How to implement an accurate countdown timer with js

    How to implement an accurate countdown timer with js 如何用 js 实现一个精确的倒计时器 原理剖析 web worker js custom ti ...

  3. 增强 CT & CT & MR

    增强 CT & CT & MR CTA,增强 CT Computed Tomography (CT) CT 计算机断层扫描 Computed Tomography (CT) Angio ...

  4. Apache 低版本不支持 WebSocket

    Apache 低版本不支持 WebSocket Apache HTTP Server Version 2.4 Apache Module mod_proxy_wstunnel https://http ...

  5. asm movbe 指令

    movbe MOVBE 目标操作数,源操作数 复制源操作数的数据,交换字节后,移动数据 假如: movbe eax,(float)1000.0 eax == 0x00007A44 movbe eax, ...

  6. 心之所向·智慧绽放丨NGK区块链赋能实体经济论坛圆满落幕

    据外媒报导,近日,由NGK主办的"NGK区块链赋能实体经济论坛"于英国伦敦的威斯敏斯特中央大厅圆满落幕.大会现场到来了NGK北美市场领导人.区块链行业的专业人士.NGK英国社区代表 ...

  7. Vue 组件的通信方式都有哪些?

    说一下 Vue 组件的通信方式都有哪些?(父子组件,兄弟组件,多级嵌套组件等等) 一.父组件向子组件传值 二.子组件向父组件传值 三.兄弟组件传值 四.跨组件 一.父组件向子组件传值 1.1props ...

  8. 初学c++,vc++6.0必备!

    文章首发 | 公众号:lunvey 作为一个纯粹的萌新,工作需要,刚接触到c++. 按照以往的经验,配置一个开发环境是首要的,其次便是边学边敲. c++入门书籍寻找了一堆,发现了一个共同点,在Wind ...

  9. ubuntu ARM换国内源和国内源安装ROS

    ubuntu arm换国内源: https://www.cnblogs.com/yongy1030/p/10315569.html 国内源安装ROS: https://blog.csdn.net/ch ...

  10. 详解SSH 框架中对象调用流程

    摘要:SSH=Struts+Spring+Hibernate SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用 ...