1.1 App后台的功能
- 远程存储数据
- 消息中转
1.2 App后台架构
如何快速提炼架构核心点,掌握架构的精髓?
- 是在什么业务逻辑遇到哪些问题;
- 采用了哪些技术解决方案。
架构设计有哪些特点?
- 架构是和业务紧密相关
- 架构的演变是由业务驱动
- 架构不是为了炫耀技术
1.3 App和App后台的通信
- 一般情况下,选择HTTP协议足够了;除非对App的安全性和性能要求极高,而选择私有协议。
- App和服务器通信使用短连接,除手游和聊天推送服务外,使用长连接。
- App后台以API的形式提供给App使用。
- App后台API以JSON作为返回数据的格式,它比XML格式更省流量。
1.4 App后台和Web后端的区别
- App后台要慎重考虑网络传输的流量,主要在API设计、图片处理上
- 移动手机弱网络环境
- 手机电量有限
1.5 选择服务器
App产品经常会出现在毫无征兆的App访问量爆发的情况,解决访问的压力最快、最有效的方法是升级服务器的硬件,如升级CPU,升级内存容量或者升级带宽。
传统的IDC要升级CPU或升级内存容量的流程如下。
- 和客户经理商谈所需硬件的价格或在线选择具体的配置。
- 在线支付或银行转账。
- 确认钱到帐后,等待IDC安排工作人员升级硬件。
这个流程由于需要人工介入,很难做到几分钟内完成硬件升级。
而使用云服务器升级硬件就很简单,流程如下。
- 在用户后台选择升级后的硬件配置。
- 通过网络支付。
- 重启服务器,升级就完成了。如果只是升级带宽,甚至不用重启服务器。
整个过程算起来不用5分钟,简单、快捷、方便。而且除了提供服务器外,还提供负载均衡、云数据库、云内存存储等服务。
1.6 最适合App的开发模式——敏捷开发
采用传统软件开发模式的最大问题是开发周期过长,迭代速度慢。移动互联网行业发展速度快,需求不断变化,产品更新迭代的频率高。
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。
为什么说是以人为核心?
我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。
什么是迭代?
迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。
来源:oschina
链接:https://my.oschina.net/u/2470917/blog/3034692