APP全栈工程师修炼之路(二)
发布日期:2021-07-01 00:03:13
浏览次数:2
分类:技术文章
本文共 1432 字,大约阅读时间需要 4 分钟。
第二章 APP开发步骤
一个完整的APP开发流程,我们可以用图1表示:
2.1 需求分析
这个阶段,我们需要根据客户提出的需求进行分析。对于比较专业的客户,可能会有详细的需求文档,这时,我们分析需求变得相对容易的多。如果对于不那么专业的客户,也就是外行来说,可能没有任何文档,只是会口头描述他想要什么样的功能,这时对于我们开发人员来说就显得比较困难。我们需要根据对方的描述,完成需求文档的编写,可能有些客户压根儿不知道自己想要什么,这时我们需要引导对方来完成需求的说明。
2.2 UI设计
在完成需求分析后,我们就将进入UI的设计阶段。
在这个阶段,我们可以拆分为两个部分:UE和UI。
UE,英文名User Experience,也就是我们常说的原型设计,英文直译为用户体验,顾名思义,这个部分考虑的就是用户体验,也称为功能设计。在原型设计中,我们只需要关注功能和用户体验,不需要考虑界面的美观。关于原型设计,读者可以学习Axure,本书主要讲解技术知识,Axure并不在本书的讲解范围内。
UI(User Interface)即用户界面,这个部分就是真正和用户打交道的部分,我们需要根据UE设计来美化用户界面。常用的设计软件有:PhotoShop、AI(Adobe Illustrator)等。
2.3 数据库设计
做完需求分析,就可以开始做数据库设计,目前关系型数据库主要有SqlServer、MySql、Oracle、PostgreSql等。选择何种数据库取决于项目。
对于中小型项目,数据结构关系不是很复杂,我们可以直接写sql脚本来创建,如果对于大型项目,数据结构可能会比较复杂,少则几十张表,多则几百张表,这时建议大家用PowerDesigner来设计数据库。对于PowerDesigner的用法,大家可以在网上查阅。
2.4 后端接口设计
在这个阶段,我们首先要确定项目架构,根据UE和数据库的表结构来确定客户端所需接口,接口安全等。
一个成熟的团队,一般会有一套成熟的架构体系和一套成熟的安全机制。
现在比较流行的接口是restful风格的接口,为了保证兼容性,也应考虑版本控制,版本控制有几种方式:
1、直接在接口地址写版本号,如:http://localhost:8080/api/v1/,其中v1就是版本号
2、在请求头写版本号
3、在参数写版本号
...
对于接口的安全,可以用成熟的解决方案如:Oauth2,也可以自己定义一套加密规则。
2.5 客户端开发
UI出来后就可以开始客户端的开发,可以和后端同步进行,在后端的接口开发完成之前,可以先实现客户端的静态界面,和一些效果的呈现。待接口开发完成之后,再调用后端API进行数据展示和交互。
2.6 APP发布
最后,客户端开发完成,并且测试没有问题后,就可以发布APP了。
Android发布很简单,一般是发布到各大应用市场,Android的应用市场为了抢占市场,一般审核是很松的,很容易通过。也可以发布到自己的服务器上,生成一个下载链接,通过二维码扫描下载安装。
IOS的发布就比较麻烦,必须发布到appstore上面,而且苹果的审核非常严格,必须要熟知它的审核规则,否则会走很多弯路。
2.7 总结
以上说的是一个完整的APP开发流程,如果是一个团队,有些事情是可以同步进行的。对于全栈工程师,如果要独立完成一个产品,就需要一个阶段一个阶段来做,笔者建议大家安装上面的顺序来开发。
转载地址:https://lynnlovemin.blog.csdn.net/article/details/70738811 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年05月02日 13时10分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Ant内置任务之tstamp
2019-05-01
Ant内置任务之whichresource
2019-05-01
Ant内置任务之touch
2019-05-01
Ant内置任务之truncate
2019-05-01
Ant内置任务之sync
2019-05-01
Ant内置任务之symlink
2019-05-01
Ant内置任务之sound
2019-05-01
Ant内置任务之typedef
2019-05-01
jface databinding:部分实现POJO对象的监测
2019-05-01
java 8:只取年月日的java.util.Date(时分秒清零)对象
2019-05-01
Flink的一些核心概念与编程模型(3)
2019-05-01
Flink的一些核心概念与编程模型(4)
2019-05-01
Flink Runtime(5)
2019-05-01