避坑指南:app新旧版本兼容问题

今天和大家聊下app新旧版本上的那些坑,当然本文不涉及什么复杂难懂的技术话语(其实本人也不懂),更多的是从让用户层更加容易接受的角度出发进行描述。

说在前面

17年转行做产品,到现在也算半个产品人了吧?!

一、版本

什么是版本,简单的理解就是appstore或应用宝等市场提示你该软件要更新了,更新的这个就是最新版本,只有下载了最新版本才能体验到app的最新功能。

一般app会有几种方式提示你有新版本去更新:

强制更新一般较少使用,不给用户选择的权利导致体验较差;提示更新是当前较为主流的办法,支持旧版可以正常使用的情况下告知用户有新版本,选择权在用户手里。

场景提示更新其实也属于提示更新,这里单独拎出来说明一下:当应用功能模块较多时,当只有涉及到一个功能模块更新时,就可以采用当用户使用这个模块时进行提示更新,提示更新仍可分为两种:忽略和强制。

而更新的方式大体有两种,大部分应用采用通过跳转至应用商店让用户更新至最新的app:

二、功能

更多的更新方式不做赘述,什么情况下采用什么样的更新方式呢?

我们回归本质的东西:版本。

每次发布app版本都是涉及到功能的更新,所以我们可以从发布的功能大小、涉及面等进行划分三大类:

1.1功能对比图

新功能和优化功能可以看成新的模块,旧版本就是没有开放使用的入口,并不会影响用户继续使用旧版本的app,如果有需要使用最新功能则可以进行更新。

一般这种情况下我们引导用户更新,选择权在用户手上。

原功能大改版比较复杂,因为涉及到的业务逻辑都发生了改变,逻辑发生改变意味着数据层面的交互发生改变,数据层面发生改变就意味着数据接口需要改变。

当然这里有两种处理办法:

1.2新旧版本处理方式

相比于第一种半强制更新的办法,第二种更加的友好,用户有权利选择是否去更新,但是由于需要提供两套接口且接口需要跟着app版本走,开发成本会增加。

当然大厂一般都是第二种方案处理的,等大部分用户都在新版后,数据同步一致了,旧甚至是更旧版本便会强制用户进行更新,随着版本越高,旧的接口维护起来就越不划算。

同时采用第二种新旧接口共存仍然会存在一些问题,当应用功能涉及到用户间的交互,如用户A在用旧版,用户B在用新版,此时两端发生两端交互时,可能存在新版“输出”的东西旧版识别不了。

1.3用户新旧版本对照

如果产品设计框架上本身就考虑了很多拓展性,新旧版本便不存在这些问题;如果框架上不支持,且通过兼容的方式成本又比较大,则可以引导旧版进行强制更新的方式。

三、新老数据

当功能发生很大变化时,必会导致旧数据和新数据字段或功能不一的情况,假设只是原来字段的增删改,新版通过数据的清洗保持一致即可,但是假设需要更多的其他形式的支撑,原来的数据列表情况无法支持,这时可选择将原来的数据作为历史数据保存一份,和最新数据分开来,也就是存在两个数据列表:一新一旧。

1.4新老数据

总结

产品从设计开始之初在框架上做好拓展性,即便后期进行版本升级,旧版本和新版本依旧可以正常使用,如果条件允许新旧版本可以保持两套接口。新旧版不影响使用,不强制用户升级对用户使用体验较好;否则就只能强制用户升级了。

本文由@F.yrun原创发布于人人都是产品经理,未经许可,禁止转载。

THE END
1.移动端混合开发技术:从WebView优化到跨平台框架选型策略选择跨平台框架时,需要考虑以下因素:首先,框架的性能和稳定性;其次,开发成本和效率;再者,框架的生态和支持度。 最佳实践案例,例如通过对比React Native和Flutter的开发特点、性能对比、生态支持等方面,帮助开发者选择合适的跨平台框架。 四、 结语 混合开发技术在移动应用开发中具有重要的地位,经过WebView优化、原生模块https://www.jianshu.com/p/efbbca31c713
2.开发一个完整的app所需的关键开发技术详解Node.js是一种后端技术,特别适合开发对实时性有较高要求的App,比如实时聊天应用。它能够有效应对并发请求,保证用户间沟通的实时性。如果后端开发不够强大,App可能会遇到数据丢失或频繁崩溃等严重问题。 数据库技术的关键影响 数据库技术在App的数据管理中扮演着关键角色。MySQL在处理结构化数据方面尤为出色。众多电商Apphttps://www.7claw.com/2800938.html
3.APP开发兼容性如何解决?综上所述,解决APP开发兼容性问题需要开发者从多个方面入手。通过选择合适的开发框架、进行详细的兼容性测试、采用响应式设计和模块化开发、关注平台特性和API变化、保持代码的可维护性和可扩展性以及积极响应用户反馈等方式,开发者可以显著提高APP的兼容性并提升用户体验。http://www.apppark.cn/t-54027.html
4.解决跨浏览器兼容性问题为确保流畅的跨浏览器体验,您需要了解与开发相关的最常见的跨浏览器兼容性问题。不同的CSS渲染:不同的浏览器采用不同的 CSS 规则。它会导致不一致的布局、不必要的空格和正面渲染。为了避免这些类型的故障,开发人员需要依靠符合标准的 CSS 来获得一致的渲染。与 JavaScript 的兼容性:JavaScript 的行为可能因不同https://baijiahao.baidu.com/s?id=1788957591634090123&wfr=spider&for=pc
5.准备好了吗?KindleFireHD7国行评测(全文)■存在应用兼容性问题 或许笔者下面将要到说的内容应该归在应用兼容性的范畴,但是由于其呈现出来的效果就是应用显示不完美,所以也就一并在这里说了。那么如果各位还有印象的话,应该记得笔者在前面有提起该机的虚拟按键栏,也就是可以按照平板的使用形态来调整自身摆放位置的那个。 https://pad.zol.com.cn/379/3791179_all.html
6.horizondaas9.1.x发行说明要确保平台设置可以支持任何 20.2.0/9.0.0/9.0.1/9.0.2 版设备的还原操作(包括预期或意外还原操作),在执行还原之前,必须将整个目录 (/opt/vmware/horizon/link/transfer/20.2.0.4133.0) 从 20.2.0/9.0.0/9.0.1/9.0.2 Horizon Air Link 设备复制到新版 21.1.0/9.1.0 Horizon Air Link 设备的相同路径 (https://docs.vmware.com/cn/VMware-Horizon-DaaS/services/rn/Horizon-DaaS-91x-Release-Notes.html
7.软件测试面试必杀篇:2024软件测试面试八股文宝典800道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web测试、接口测试、App测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力资源等模块面试题,命中率杠杠的,绝对是测试人的福音,面试者的最强武器。 https://maimai.cn/article/detail?fid=1834543922&efid=hd_N8vt67RYeT16kXOYD4Q
8.移动端功能测试高频面试题51CTO博客?系统结构方面 ?web测试基于浏览器的b/s架构,web测试只要更新了服务器端,客户端就会同步会更新,并且保证每一位用户的客户端完全一致 ?app测试c/s结构的,需要有客户端,更新了服务器端,是不能保证每一位用户的客户端一致,除非用户更新了客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试https://blog.51cto.com/u_15333574/5300945
9.人脸核身人脸核身App调用H5兼容性配置指引由于Android 机器碎片化严重,用系统 WebView 调起系统摄像头完成视频录制可能存在很多兼容性问题,如部分机器出现调不起摄像头、调起摄像头无法录制视频等。因此整理了接入指引。H5 刷脸包括 trtc 和录制模式,合作方需要对这两种模式都做兼容性配置。请合作方务必按照如下步骤顺序,实现兼容性处理: https://cloud.tencent.com/document/product/1007/61076
10.2024年值得考虑的十大最佳基础钱包这种兼容性允许开发人员轻松地将现有的以太坊dApp迁移到Base,而不需要对代码进行重大更改。 可访问性:Base与Coinbase的集成简化了入职流程,允许您直接通过Coinbase平台访问Base网络。 方法论:我们如何选择最佳的基础钱包 为了确定最佳的基础钱包,我们对钱包功能、可用性、安全性、用户体验和支持不可或缺的多个关键组件https://www.528btc.com/column/article/262751.html
11.新华三在《新华三2023十大技术趋势白皮书》中,我们寻找到中国经济高质量发展的更多脉络,在客观的“必然性”和“随机性”中,以躬耕者与体验者双重身份,在数字中国增添属于自己的一笔,为人们的美好生活,注入确定性的力量。 了解更多 数字化领航 城市发展指数 十大技术趋势 https://www.h3c.com/
12.软件测试常规面试题问答题(附带答案)问答基础篇03XX项目在测试环境进行了功能、可靠性、安全性、可用性、性能五个方面进行了全面、严格、规范的测试,测试结果表明,XX项目实现了XXX业务,项目测试质量符合需求及上线标准。 测试结论:通过 2、测试不通过,建议不上线 一般来说软件测试结论中很少会包含测试不通过的情况,但软件测试人员还是要根据实际的测试情况给出实际的https://blog.csdn.net/weixin_50829653/article/details/115771431
13.app前端开发需要注意什么问题?在开发前端时,应采用语义化的HTML标签,合理使用标题和关键词,提供有意义的URL和元数据等,以 提高app在搜索引擎中的可见性。 总之,app前端开发需要注意响应式设计、移动优化、用户体验、浏览器兼容性、安全性、可维护性、性能优化和SEO优化等问题。APP只有在这些方面都做好,才能开发出高质量的app前端。https://www.yimenapp.com/kb-yimen/24448/
14.中小学教师资格考试NTCE关于开展2024年下半年中小学教师资格考试(面试) 报名工作的通知2024年下半年中小学教师资格考试(面试)报名工作将于11月8日开始。此次面试在31个省(自治区、直辖市)举办,各省(自治区、直辖市)的报 关于2024年下半年中小学教师资格考试(笔试) 成绩发布的通知 https://ntce.neea.edu.cn/
15.兼容测试FAQ开发的应用程序进行稳定性测试,monkey测试只在我们平台的标准兼容测试中,如果客户点击选择执行Monkey测试,monkey执行3分钟,但是由于执行monkey很容易把APP点击死掉,问题几乎不好定位,所以在进行标准兼容测试时,请慎重选择monkey测试选项。2.什么叫串行测试和并行测试?https://support.testin.cn/portal/zh/kb/articles/%E5%85%BC%E5%AE%B9%E6%B5%8B%E8%AF%95-faq