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

01 需求分析

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

需求图呈现方式:思维导图

需求方式整理:根据不同访问端以及不同身份需求方案的word需求书

上面是一张简单的关于需求的思维导图,仅供参考。为了方便观看和保护隐私,我删减了部分内容。诞生经过:项目经理或者产品经理和客户沟通需求,了解开发的意向以及想要实现的功能,解决什么样的问题,产品经理通过客户诉求和相关的往期案例收集整理,给出一个需求方案书!那么你的APP开发或者小程序开发,就已经迈出了第一步了!

02 原型设计 && UI设计

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

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

设计完成之后,会通过专门的设计平台进行逐步每个app界面以及后台界面的展示,从而更好的认识到将来用户打开的软件是怎样的!我们这里数名专业的Ui设计师,拥有数千个行业设计的经验,您心中的需求都可以很完美的呈现出来!然后就进入功能实现的开发阶段了!

03 开发,前后端

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

04 框架搭建

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

05 界面开发 & API设计

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

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

比如上图,最简单的划分方法,就是把下面的5个tab划分为5个模块,每人负责其中2-3个同时开发。界面开发是个纯苦力活,这个过程常常要因为线条粗细、字体颜色、字体大小、字体对齐等问题作相应的调整,最终才能出来一个让人满意的界面。

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

06 功能实现

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

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

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

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

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

07 软件测试

alpha阶段

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

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

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

Beta阶段

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

07 正式上线

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

文章来自:知乎用户@简单点

一个APP诞生的自述日记,APP开发流程相关推荐

  1. 软件开发流程包含哪些内容

    2019独角兽企业重金招聘Python工程师标准>>> 能否开发出一个好的软件,关键是看软件开发前期所做的工作,重点是这个软件有没有一个好的 软件开发流程,因为一个好的软件开发流程关 ...

  2. SpringMVC+Mybatis框架集成开发基础——项目开发流程——01

    项目开发一般流程: 1.描述项目的主要功能及各个模块的功能 2.系统采用的技术方案 3.创建E-R模型图(实体关系模型图,数据库)​​​​​​ 4.搭建数据库环境.创建数据库表及表间约束 5.搭建项目 ...

  3. ZYNQ之路--初级开发流程介绍

    很多有玩过FPGA的老兄入手了ZYNQ,也明白什么PS+PL的开发方式,但是不知道开发ZYNQ究竟要怎么样做.本篇博客是本人阅读正点原子等开发资料的一些感悟,希望能让大家对ZYNQ的开发流程有一个更清 ...

  4. JL 杰理 AC692X混响功能(k歌宝)开发流程详解

    一 .简要说明 混响功能一般用于大型拉杆音箱或者k歌宝当中,但项目开发过程中往往会遇到很多问题,比如啸叫.混响效果.死机之类的问题,下面就对该功能的开发和常见的问题做一个简单的介绍. 二.开发流程 1 ...

  5. Android studio课程设计开发实现---日记APP

    Android studio课程设计开发实现-日记APP 文章目录 Android studio课程设计开发实现---日记APP 前言 一.效果 二.功能介绍 1.主要功能 2.涉及知识点 三.实现思 ...

  6. vc6开发一个抓包软件_开发一个软件多少钱?传统app开发与0代码app制作方法对比...

    开发一个软件多少钱?app开发难吗?app制作需要哪些流程? app开发很难:按照传统的开发方式需要最少5名以上的技术人员,团队配合花费3个月左右的时间才能搞定,成本20万以上. app开发也很简单: ...

  7. 语言做一个自动售货机软件_软件开发手机app系统软件高端定制做一个app软件要多少钱...

    软件开发手机app系统软件高端定制-做一个app软件要多少钱 APP开发分原生APP开发和在线制作,我们来看下这两种都需要多少费用吧. 1.原生APP开发(定制开发) 互联网是个神奇的大网,大数据开发 ...

  8. 一个app开发周期是多久?快速开发才是主流

    app的出现,极大的方便了人们的生活.社交和工作,各种各样的app为人们提供了各种便利的服务,真正让移动互联网服务大众.许多行业看到在app上爆发出的巨大潜能,都纷纷主动进行app制作来迎接移动互联网 ...

  9. 开发一个APP有多难?APP开发流程、开发成本揭秘

    现在很多企业或者个人都有APP开发需求,如果是非专业开发人员,可能对于APP的开发流程.开发成本.开发难点.需要多少开发人员等等都没有概念,今天这篇文章就给大家进行下普及. 一.APP开发的流程和难点 ...

最新文章

  1. Python:pip 和pip3的区别
  2. HBase文件索引分析
  3. mysql超大数据库备份
  4. 【个人成长学习讨论小组】练习2:角色
  5. LinQ高级查询、组合查询
  6. NIO和BIO如何影响应用程序的设计-设置处理线程数
  7. [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify uniq
  8. 潢川高中2021高考成绩查询,潢川高中2020年秋季学期高一期中考试成绩分析
  9. r语言安装ipsolve_R语言矩阵操作之矩阵运算
  10. 游戏计算获胜概率_伟大的命令行挑战赛的获胜者宣布
  11. eclipse-sql server 2008连接
  12. js获取php多维数组,vue.js,多维数组_vuejs2.0 多维数组操作?,vue.js,多维数组 - phpStudy...
  13. 5.企业安全建设入门(基于开源软件打造企业网络安全) --- 业务安全
  14. 差分进化算法_差分进化算法入门及实例应用
  15. wc与xargs命令
  16. apache ii评分怎么评_APACHEII评分说明
  17. FPGA开发基本流程
  18. 对接京东获取任务工单接口jingdong.homefw.task.search,附接口字段详细说明,数据库设计,Java实现
  19. java中流_Java中流的有关知识点详解
  20. Cocos creator Graphics绘制线条却出现的是填充图案

热门文章

  1. 抽象数据类型三元组Triplet基本操作与实现 严蔚敏版
  2. php 截取取最后一个字符
  3. Grenander.Software.Workshop.LoudSpeaker.Lab.v3.1.3 1CD(专业级的音箱设计软件)
  4. 程序员学人工智能,为什么必须要懂数学建模?
  5. 双11_淘宝双11_天猫双11_双11是什…
  6. (uniapp-快速入门)运行到小程序模拟器微信开发工具
  7. NDN助力网络5.0时代
  8. 计算机查看流量记录,教你用路由器查看电脑数据流量使用情况的方法
  9. idea运行springboot出现Process finished with exit code -1073741819 (0xC0000005)
  10. Nginx配置虚拟主机(基于域名、端口及IP)