8.app后端和web后端的区别

  很多从web后端转到app后端的小伙伴经常很茫然,不知道这两者之间有啥区别。本文通过例子,分析web后端和app后端的区别,使各位更好地把握app后端的架构。

  

(1) app后端要慎重考虑网络传输的流量,主要是api设计,图片处理上

  

  现阶段,手机上网的资费还是要按照流量算的,一般的3G用户,每个月的流量几百M,4G用户,每个月的流量也就几G。

  

  如果不考虑网络传输的流量,一张图片就占了几百K,流量用得飞快的。

  

  在前面的文章《7。app和app后端的通讯》中提到,api的返回结果一般是json格式,使用json格式的一个重要原因是,同样的内容,用json格式更省流量。

  

  app下载的图片也一样,默认是让app下载经过压缩处理的图片(一般是几十K以下),当用户需要查看原图时,才让用户下载原图。

  

(2) 移动手机弱网络环境,稳定性,到达率

  

  移动手机因为移动的特性,特别是在高速移动的时候,3G信号是时有时无。

  

  因此,后端发给app的信息,是无法保证一定到达app的,极有可能当发送的时候app是有3G信号的,但发送的过程中,3G信号就没了,这样消息就没了。

  

  针对这种情况,需要做app端的信号的确认。

  

  例如,推送系统中,app要保存接收到的消息编号。

  

  服务端发送了编号为1,2,3这3条推送给app,app端记录下来的消息编号只有1,2,那就意味着编号为3的消息丢失了,但是推送服务器是认为编号为3的消息已经推送成功的。

  

  app每隔一段时间,询问一下服务器已经发送了哪几条消息,通过比对消息编号,如果有遗漏的,那就要求服务器再发送一次。

  

  通过这种策略,就能在很大程度上保证信息的完整性。

  

(3) 手机电量有限

  

  普通的手机,充满电池能用一天左右,如果是在app端做大量的网络请求和运算,那么手机的电是消耗得很快的。

  

  但是,如果所有的运算都集中在服务端,也会增加了服务器的负担。

  

  这两者之间的平衡,需要在项目中仔细斟酌。

---------------------------------------------------------------------------------------------------------------------------

打开链接  app后端系列文章总目录 总目录 ,能查看本人发表过的所有原创“app后端”文章。

【作者】曾健生

【QQ】190678908

【qq群】254659220

【微信公众号】 appbackend

【新浪微博】 @newjueqi

【博客】http://blog.csdn.net/newjueqi

时间: 2024-12-17 23:00:16

8.app后端和web后端的区别的相关文章

APP测试和WEB测试的区别

APP测试和WEB测试在业务流程和功能测试是没有区别的! 但两者载体不一样,在以下几个方面存在区别: 系统结构方面: WEB项目,B/S架构,基于浏览器的,WEB测试只要更新了服务器端,客户端就会同步更新: APP项目,C/S架构,必须要有客户端,APP修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍. 性能方面: WEB项目,需监测响应时间.CPU.Memory: APP项目,除了监测响应时间.CPU.Memory外,还需监测流量.电量等. 兼容方面: WEB项目, 1.浏览器(火

APP开发和web开发的区别

1.web开发: 1.浏览器直接访问,协议是http,基本都是PC访问,也就是在家和办公场合,网络比较好. 2.web如果多个服务集成的话使用的是ESB来统一集成 2.APP开发 1.手机app客户端访问,协议可以自定义,也可是http,基本都是手机终端,网络是好是坏.并发要比PC大,因为手机容易携带,访问量大,请求都是多个服务提供api.解决的方法就是存在一个网关服务. ==============================================================

app测试与web测试的区别

1.从功能测试的来讲的话,在流程和功能测试上是没有区别的.系统测试和一些细节可能会不一样. 那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端.那么在系统测试测试的时候就会产生区别了. 首先从系统架构来看的话,web测试只要更新了服务器端,客户端就会同步会更新.而且客户端是可以保证每一个用户的客户端完全一致的.但是app端是不能够保证完全一致的,除非用户更新客户端.如果是app下修改了服务端,意味着客户端用户所使用的核

谈下APP测试和WEB测试的区别

先来讲下相同点: 1.都需要理论知识,相同的用例设计方法:边界值,等价类,错误推导法,场景法 2.同样的测试方法 验证功能是否满足需求 3.都需要检查UI  界面设计是否合理 4.性能检测  并发 吞吐率的检测  以及应用的稳定性测试,没有卡死闪退等验证BUG 5.二者后台都是一致的  都调用访问一样的后台 ResultApi 简短聊下移动APP的测试 1.业务相对简单点,移动app实质是一个简化的WEB程序,屏幕小注重用户体验 2.移动端支持多种网络制式 2G 3G 4G WiFi  断网 网

《Swift入门》ubuntu下编译运行Swift开发的Web后端示例

这里只是演示如何在ubuntu下编译运行Swift开发的Web后端项目. 项目代码来自Bluemix上提供的示例代码,如果你有账号,可以去自己的空间下载,没有的话,可以通过下面的地址下载: http://download.csdn.net/detail/testcs_dn/9513395 编译环境安装配置请参考:Ubuntu 14 server安装Swift运行环境 环境配置好之后,将下载的示例代码解压出来: 主要代码是"main.swift",内容如下: /** * Copyrigh

App server 与 Web server之间的区别

原文: http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html 简单来说,web服务器提供页面给浏览器,而app服务器提供客户端可以调用的接口.具体而言,我们可以说: Web服务器处理HTTP请求,而app服务器基于多种不同的协议,处理应用程序的逻辑问题. 以下将详细介绍它们之间的区别. Web服务器 web服务器处理HTTP协议.当收到一个HTTP请求之后,web服务器会返回一个HTTP响应,比如一个HTML

APP 测试 与 WEB 测试的本质区别

单纯从功能测试的层面上来讲的话,APP 测试.web 测试 在流程和功能测试上是没有区别的 根据两者载体不一样,则区别如下: 1.系统结构方面 web项目,b/s架构,基于浏览器的:web测试只要更新了服务器端,客户端就会同步会更新 app项目,c/s结构的,必须要有客户端:app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍 2.性能方面 web项目 需监测 响应时间.CPU.Memory app项目 除了监测 响应时间.CPU.Memory外,还需监测流量.电量等 3.兼容方

笔试-4399【2020校招】Web后端开发工程师笔试题(我又行了?然后一份面试通知都没有,我是真的菜啊。。。。)

感悟:两小时,单项选择15,问答8,编程3,论述5(大学规划,为什么选这个岗位等等,也占分) 单选:计算机网络偏多,然后就是一些基本知识点了: 好喜欢考这东西啊,下面答案是6,因为末尾有个'\0',我做错了....如果c[10]的话就是10 归并排序最坏情况(多分析一点最坏情况,因为最好情况都考烂了.....): 问答: TCP的三次握手和四次挥手,为什么是三次而不是两次,为什么是四次而不是三次 SQL建表(create table `user`(id int not null, user va

Web Farm和Web Garden的区别

在这篇博文中,我将确切剖析Web Farm和Web Garden的区别和原理,以及使用它们的利弊.进一步地,我将介绍如何在各个版本的IIS中创建Web Garden. 英文原文 | Abhijit Jana | 2010年10月2日 概述 ASP.NET开发服务器负责处理所有来自客户端的请求和响应(开发阶段).完成开发后,为了让他人可以访问你的站点,你必须将站点部署到服务器上,这将涉及到Web服务器.Web服务器负责处理所有来自客户端的请求,并给予响应.下图展示了ASP.NET Web应用程序典