第二章 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开发流程,如果是一个团队,有些事情是可以同步进行的。对于全栈工程师,如果要独立完成一个产品,就需要一个阶段一个阶段来做,笔者建议大家安装上面的顺序来开发。

APP全栈工程师修炼之路(二)相关推荐

  1. APP全栈工程师修炼之路(一)

    第一章 全栈导论 1.1 概述 全栈工程师,也叫全端工程师,英文名Full Stack developer.是指掌握多种技能,并能利用各种技能独立完成产品的人.全栈工程师按照产品的类型不同又分为:We ...

  2. APP全栈工程师修炼之路(三)

    第三章 数据库设计         从本章开始,我们将真正的开始进入全栈之路.因为全栈工程师不需要对某种技术有着深入的研究,所以本书不会深入探讨技术细节,只注重产品的设计与开发. 3.1 MySql概 ...

  3. 全栈工程师修炼指南 - 学习/实践

    1.介绍 TBD 2.应用背景 TBD 3.学习 参考: https://xueyuanjun.com/books/php-fullstack 后续补充 ... 4.推荐书籍 TBD 5.学习体会 T ...

  4. 测试私有方法 重构_一个全栈工程师重构之路:中小公司 DevOps 落地实践

    为了这篇文章,我前后写了将近十篇文章铺垫,才将这篇整体重构思想引出. 背景 先说下背景,我们是一家小公司,虽然打着做产品的旗帜,但是每个客户都有大量的个性化功能,这里指各个客户的java端.Andro ...

  5. 全栈工程师之路-Node.js

    2019独角兽企业重金招聘Python工程师标准>>> 全栈工程师之路-Node.js 高可用架构专用 原文[高可用架构] https://mp.weixin.qq.com/s?__ ...

  6. 全栈工程师通网架构师之路

    首先我们看什么是架构师?架构师应该具备哪些能力? 大家都知道很多公司都有架构师这个职位,但是我想告诉大家的是看一个人是不是架构师不是看职位,而是看他所具备的能力以及正在做的事,所以有架构师头衔的人不一 ...

  7. 小程序高级电商前端第1周走进Web全栈工程师<二>

    业务对象的重要性: 在上一次小程序高级电商前端第1周走进Web全栈工程师<一>----小程序注册.开发工具推荐.<风袖>首页布局详尽分析.Webstorm开发小程序必配配置.m ...

  8. 全栈工程师--这才是真正的从入门到跑路

    要想成为全栈工程师,莫过于,多跟紧时代步伐(丢弃旧技术),听取专家意见,多看好书,少走弯路. 对技术投以最大热情,全力开挂去学习,领悟... 转载于:https://www.cnblogs.com/F ...

  9. 一个初学者→全栈工程师的学习之路(1)——关于全栈工程师的理解

    关于全栈工程师的理解与学习 一.关于全栈工程师的定义与职务 1. 全栈工程师的定义 随着互联网技术的蓬勃发展,技术变得越来越繁琐,越来越多面化.一个项目的开发,需要使用多样技术.举个例子,一个网站的建 ...

最新文章

  1. 3天拆解数据分析全流程!
  2. 基于瞳孔检测,湖北中学推出人脸支付!网友提出安全投诉,学校:符合法规,无风险...
  3. 科大星云诗社动态20201231
  4. boost::shared_mutex相关的测试程序
  5. python开发网页视频播放器_HTML5 VideoAPI,打造自己的Web视频播放器
  6. 搞定面试算法系列 | 分治算法三步走
  7. linux中的进程权限是,Linux中权限,进程,服务的简单操作
  8. c mysql 取错误信息_初始化 MYSQL 后为何得到一会错误信息?
  9. Python入门方法--简单总结+学习方式思考
  10. 量子化信息素蚁群优化特征选择算法
  11. python小说爬虫练习
  12. web服务器超过访问上限显示,当Web服务器访问人数超过了设计访问人数上限,将可能出现的HTTP状态...
  13. 电脑win7系统开机密码忘记
  14. 光荣使命微信版服务器,腾讯光荣使命手游微信可以和QQ一起玩么 微信QQ帐号数据互通么...
  15. 一篇小文入门 Python
  16. c语言 申请变量函数,C语言中变量和函数
  17. C++ bit field 位域/位段
  18. LeetCode——1737. 满足三条件之一需改变的最少字符数(Change Minimum Characters to Satisfy One of Three...)——分析及代码(Java)
  19. [Drools]JAVA规则引擎 -- Drools
  20. 对张楚汉院士混凝土动力性能研究报告的笔记

热门文章

  1. django xadmin修改“管理”“认证和授权”的菜单名
  2. m3u8转换到mp4 python_Python 实现MP4视频转M3u8视频
  3. 华为/阿里等公司招聘缩减!科技行业出现衰退?
  4. 正则只保留括号里的内容
  5. 虚拟机安装CentOs系统
  6. 简易串口助手通信(齐全) 可实现ASII和十六进制发送指令 并显示
  7. matlab中imag什么意思,Matlab基本函数-imag函数
  8. 9 客户端认证方式 之 PKCE
  9. 将数据以表格的形式保存到pdf中
  10. PTA乙级1014(python3)