我不更新app那bug是不是就不会被修复?

例如:有人通过修改虚拟定位来钉钉打卡,打卡成功了,假如一些早期钉钉版本确实存在这个bug。
在这里插入图片描述
很多人以为我不更新app是不是就能一直利用这个bug来进行虚拟定位打卡?只要我不更新app是不是钉钉就不会察觉到是虚拟定位打卡?
答案是否定的。

很多时候我们的app不需要你手动去更新,而后端的工程师实际上每天都修复bug,但不用更新app也能修复好这些bug。而这些更新实际上很多时候是用户无感知的就更新完成的,无需用户知道,工程师们就可以把bug修复好。

这就涉及到两个概念:

什么是移动端?什么是服务端?
在这里插入图片描述
什么是移动端?

移动客户端以手机为例,其中手机的操作系统主要分为安卓和ios

我们在开发一款app时就要针对这两个系统进行开发,

安卓的app开发语言一般用java或者Kotlin

ios的app开发语言一般用Objective-C或者Swift

我们把安卓开发和ios开发叫做原生开发当然还有非原生开发,例如:H5
H5是指HTML5,是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
app也相当于是一个客户端。
什么是服务端?
在这里插入图片描述

服务端是为客户端服务的。服务的内容诸如向客户端提供资源,保存客户端数据。
后端的开发语言一般用:java, Node.js, C等

客户端的数据来源哪里呢?

答案是:服务端,当用户在app进行登录操作的时候,app(移动端,客户端)会把请求登录的操作发送给服务端去完成登录操作,登录完成后把用户数据返回给客户端。

所以服务端是为客户端提供数据服务的。

回到一开始的问题:

很多人以为弄了虚拟定位就可以在钉钉上进行定位打卡,即使打卡成功,后台不知道你是虚拟定位打卡的吗?
很多人以为我的钉钉没有更新,应该不会被发现的吧?那你就错了,钉钉实际上不用发布新的app版本(也就是你不需要去app安装市场更新app),工程师们通过服务端的发版就能校验打卡是不是虚拟定位打卡了。
因为校验定位的流程是放在服务端实现的而非客户端
如果是进行拦截或者把这条打卡记录记下来,这样管理员在后台一看就知道那条打卡信息是通过虚拟定位打卡的,哪条定位是正常的(所以还是别耍这种小聪明)
在这里插入图片描述

这里就涉及了服务端和客户端(app)的更新(也叫发版,即发布新的版本)

一个是:如果我们要对app的原生界面进行调整更新那就必须发布新的app版本,你才可以去应用市场更新,更新完你能体验更新的一些功能或者优化。
在这里插入图片描述
另一个是:服务端更新(或者发版),这种更新用户其实是没什么感知的,因为服务端发版只是对数据进行调整,优化,修复等一些问题,例如对虚拟定位打卡的校验,这些都是在服务端进行的,所以并不是不更新app,你的虚拟定位打卡就不会被后台发现。
在这里插入图片描述
app中哪些是原生呢?
例如:以淘宝为例子
在这里插入图片描述
图中的这5个菜单栏就是属于原生,假如哪天业务需求的变更把5个菜单栏中的购物车去掉变成4个菜单栏(估计离被炒鱿鱼的日子不远了
这时候客户端的工程师们需要去把购物车这个tab去掉,改完之后需要发布新版本的app,用户去应用市场更新淘宝这个app
更新完后你就会惊奇的发现你的淘宝居然没有了购物车这个tab(这真是个好需求),其中这就涉及了原生的改动,需要更新app才能使用上没有购物车的淘宝。
app中哪些是非原生呢?或者说哪些是H5呢?

例如:当我们下拉一个页面会出现此网页由XXX提供,是H5页面,判断哪些页面是h5的方式有很多种,这只是其中一种,一般作为开发的都能感知到哪些是属于原生哪些是属于h5页面
在这里插入图片描述

如果某个功能是在h5上开发的话,我们就不需要更新app就能用上新功能,app一般都会内嵌有一个微型的浏览器,h5页面都是跑在这个微型的浏览器来渲染给用户。
在这里插入图片描述
这时候我们只要开发新功能的h5的服务端就行了,最后把这个h5页面通过后台控制来进行展示在指定页面。而h5的发版是是不受客户端的限制的,可以随时发版,无需用户更新app。
了解了什么是原生,什么是h5之后,来了解一下两者的发版要求:

app发版是有原则的,一般就是尽少的发布新版本,把大部分数据处理逻辑放在服务端来处理从而避免了app的频繁发版。

频繁的发版对用户来说很不友好。例如:昨天才把app更新了,今天又更新…这样每天都在更新app…对用户来说体验非常不好。对用户流失的有很大影响。

服务端的更新和发版
像淘宝,天猫,唯品会等这种app这种其实背后的工程师们每天都在不停地对服务端进行优化和开发发版,然后在测试环境进行不断的找bug改bug,发版到灰度环境,在灰度环境继续进行测试,找bug,最后把bug修复完才把代码发上生产环境,生产环境才是用户能看到的;
这样的隔离环境是减少生产问题的产生是必要的。这种服务端不断的发版实际上并不用更新app,很大一部分是用户无感知的。这才是符合用户的需求的,而不是整天更新app。​

H5发版原则则是根据需求或者优化的需求来变更发版即可,不受限制,也就是说能随时发版,不用考虑频繁发版的限制。
所以很多涉及频繁发版的内容页面很多公司都会考虑把它做成h5页面嵌入原生中,这样就能把从原生的频繁发版转移到h5的发版了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值