大家好,又见面了,我是你们的朋友全栈君。
很多从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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151612.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...