如何开发一个APP——转自知乎
链接: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——转自知乎的更多相关文章
- 后移动互联网时代:到底还要不要开发一个App?
后移动互联网时代,到底是什么样的一个时代? 首先,后移动互联网时代中,产生头部应用的几率变小了,像微信这样巨头式的App很难在产生第二个.其次,后移动互联网时代,物联网发展迅速,所有的智能硬件都需要一 ...
- 成都开发一个app大概好多钱?
目前,移动APP已成为很多小企业业务销售的新渠道之一,于是问题来了,一般想到要开发一个自己的app,就想问:开发一个app好多钱?去百度.360.搜狗等等平台去找相关的app开发公司咨询或者问问朋友有 ...
- 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息
作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...
- 开发一个App要多少钱?APP开发报价单,APP开发外包有哪些注意事项-广州达到信息www.ddapp.com.cn
来源:广州达到信息著作权归广州达到信息所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作为一个APP开发从业者,经常会有人问到:开发一个App要多少钱?下面针对这个问题来好好解答解答正经的谈 ...
- 开发一个App的成本是多少?
英文出处:savvyapps.欢迎加入翻译小组. 在最近的一个会议上,一个叫Bob的老顾客引用了<App Savvy>(<放飞App:移动产品经理实战指南>)中探讨研发一个io ...
- 行内人解读开发一个App需要多少钱?
对于很多互联网的创业者来说,评估前期的创业成本是很重要的.在这几年的创业大潮中,伴随着“互联网+”和“互联网思维”的普及,很多创业项目选择了开发app作为创业项目的载体.在我接触到的很多创业者,找Ap ...
- 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)
我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...
- 开发一个 app 有多难?
171 个回答 默认排序 道衍天机 有事情的加微信1293190838找我 1,150 人赞同了该回答 ----------------------------------------------- ...
- 独立开发一个App是一种怎样的体验?
(本文原文是我在知乎上写的一篇回答:独立开发一个 App 是一种怎样的体验?) UWP业余开发者表示,非常愿意做一股清流.在喧闹无比的iOS和Android平台,为了给应用造势,太多人费尽心思,勾心斗 ...
随机推荐
- shit 钉钉
shit 钉钉 钉钉 圈子 入口, 没有 https://www.dingtalk.com/qidian/help-detail-1000131196.html shit bug 全员圈 这个好像是要 ...
- Web Animations API & SVG & requestAnimationFrame
Web Animations API WWAPI https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API https:/ ...
- c++ winapi 让目标程序(target)调用当前程序(local)的函数
GameCheat 如果你的目标程序是x86/x64, 那么当前程序也需要编译为x84/x64 #include <iostream> #include <string> #i ...
- Github 获取仓库的releases API
API 文档 example: 这将获取所有的版本 https://api.github.com/repos/januwA/flutter_anime_app/releases 最新版本: https ...
- 「NGK每日快讯」11.23日NGK公链第21期官方快讯!
- 10_MySQL数据表的基本查询
为了更好的练习数据表的操作,我们需要有些数据来供我们练习,这里给大家分享一份数据,大家可以拿去自己练习使用. 文件地址:https://files.cnblogs.com/files/waterr/d ...
- 基于docker搭建DNSmasq
一.概述 DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能.它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出 ...
- Qstring和String的区别
QString qTest; std::string sTest = qTest.toStdString(); qTest = QString::fromStdString(sTest); //进入两 ...
- Codeforces (ccpc-wannafly camp day2) L. Por Costel and the Semipalindromes
题目链接:http://codeforces.com/gym/100923/problem/L 分析:题目要求序列首尾相同,在此基础上的字典序第k个:因为只存在a,b所以我们把它等效成0和1的话,字典 ...
- .NET MVC & Web API Cors让AJAX 实现跨域
什么是Cors? CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing).它允许浏览器向跨源服务器,发出XMLHttpReq ...