初识APP后台

  对于小白的我,不知为何心中有个梦想,成为全栈工程师,不知道原因,也许就是我单纯的对开发知识的好奇与兴趣吧。这是学习APP后台开发的开始,也是我探索新知识的又一里程碑喽。今天开始进入学习后端运维和框架的知识,希望不断对程序开发有更加深刻的认识和理解。

一、初始APP后台

1.APP后台架构

  梳理app的业务流程、整理遇到问题、可行性技术、有机融合。

  架构是和业务密切相关的,其演变由业务驱动。架构的真实意义是为了解决问题,根据实际需求而设计。

2.APP和APP后台的通信

  APP和APP后台通信可以使用通用语言通信和使用暗语通信两种方式。

  除非开发者对App安全性、性能要求高,不然选择HTTP协议足够。

  通信中的长连接和短连接:

  长连接就像一直保持着手机通话,使用Socket或WebSocket连接,适用于手游和聊天推送服务。

  短连接就需要时才拨通电话,现在的主流通信方式是HTTP协议,开发效率高,有大量的第三方软件,节约开发人员的认知成本。

  APP和后台的通信大多数通过API(Application Programming Interface,应用程序编程接口) 

  后台返回给API的数据格式:JSON、XML。各有千秋,相比Json更加节省流量。

3.APP后台和Web后端的区别

  APP后台需要:网络传输的流量(对图片做处理:压缩)、移动手机的弱网络环境(手机高速移动的网络容易断开)、手机的电量有限(APP端和后台的运算相互平衡)。

4.选择服务器

  传统服务IDC器和云服务器

  随着业务规模的增大,面对高可用、高并发、监控警报的问题。运维问题解决需要的投入非常大。建议使用云服务器:用户选择升级后台硬件配置、宽带,网络支付,重启服务器。简单、方便、快捷。

5.选择编程语言

  选择符合场景的最热门的编程语言,是一条重要法则。开发效率高、切记不同语言维护相同业务逻辑。但,一个系统中不同的业务逻辑可以使用不同的编程语言实现。

6.快速学习新技术

  APP后台技术容易接触新知识,明白两个核心问题:软件适用场景、软件的运行原理。

  阅读:README文件、INSTALL文件,阅读官方文档,阅读源码(Example文件),实在不行就上网搜索呗~

7.APP诞生流程

  项目启动(产品经理使用Axure制作原型图、UI设计师设计界面、产品会议)-->

  研发阶段(根据业务需求完成后端架构设计,初步设定API接口(填入假数据))-->

  测试阶段(人人都是测试员,制定测试计划)-->

  正式推出阶段(发布到各大应用市场,市场推广)

8、最适合APP开发模式

  传统的开发模式:瀑布模式,最大的问题是开发周期过长,迭代速度慢。

  然而,移动互联网发展迅猛,需求不断变化。因此,引入Scrum敏捷开发框架。

  Scrum简介:敏捷开发框架,一个增量、迭代的开发过程。包括若干小的迭代周期(Sprint)

  使用产品Backlog来管理产品或项目的需求:按照商业价值排序的需求列表。开发总是先从对客户具有较高价值的需求开始。

  Sprint计划会议分析、讨论、估算得到一个Sprint的任务列表:Sprint Backlog。

  后台开发应先设计出相关API并让API返回假数据,方便APP开发人员调用接顺利开展工作。还可以对整个开发计划有总体的规范,相当于TDD(测试驱动开发)

  每日例会中,报告:昨天做了什么、今天准备做什么、什么工作需要和其他同时配合

  对于测试和修复bug,测试问题需要提交到Bug管理软件,写明:问题描述和重现步骤、测试人员、负责解决问题的人员。

  评审会议,演示APP的功能。

  回顾会议,各自说出优缺点。

  技术反馈,APP应具有意见反馈功能,产品经理可以通过后台系统账号可以和用户交流。

  最后,敏捷开发适用于需求多变、开发周期短的项目,并不是万能的。

你可能感兴趣的:(Java后台)