移动端软件开发适配性研究_第1页
移动端软件开发适配性研究_第2页
移动端软件开发适配性研究_第3页
移动端软件开发适配性研究_第4页
移动端软件开发适配性研究_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动端软件开发适配性研究作为一名有着近十年开发经验的移动端开发从业者,我亲眼见证了移动设备从寥寥几个主流型号,发展到现在上百种不同尺寸、不同硬件、不同系统版本碎片化分布的全过程。刚入行的时候,我甚至觉得适配只是开发过程中一个无关紧要的边角工作,直到几次因为适配漏洞导致产品口碑雪崩的经历,才让我意识到:适配性不是加分项,是移动端产品的及格线。一篇,就结合我自己的一线开发经验,对移动端软件开发的适配性做全面的梳理研究。1移动端软件开发适配性的核心内涵与研究价值1.1适配性的核心定义很多人对移动端适配的理解还停留在“让软件能在不同手机上打开”,其实这远不是适配的全部。我理解的移动端适配性,指的是软件能够在不同规格、不同品牌、不同系统版本的移动设备上,始终保持一致的可用体验,不仅要能正常运行不崩溃,还要保证显示效果舒适、交互逻辑顺畅、功能调用正常,能够适配不同用户的使用需求。小到一个按钮的位置会不会被异形屏挡住,大到折叠屏展开后能不能合理利用屏幕空间,甚至老系统上能不能正常调用权限,这些都属于适配性要解决的问题。1.2适配性研究的核心价值1.2.1适配是应对移动设备碎片化现状的必然要求现在的移动设备市场早就不是当年那个只有寥寥几种屏幕比例的时代了。安卓阵营从不到5寸的小众小屏手机,到接近7寸的大屏手机,再分成内屏外屏的折叠屏,屏幕比例从传统的16:9到现在主流的20:9,折叠屏内屏甚至接近4:3,分辨率从720P到2K+遍地都是,再加上各家厂商的定制系统千差万别;哪怕是封闭的苹果生态,目前在售的机型也有十多种,从迷你屏到超大屏,从刘海屏到灵动岛,不同机型的显示规则也不一样。设备碎片化的现状,决定了不做适配的软件根本没办法给大部分用户提供正常体验。1.2.2适配质量直接决定产品的用户口碑和留存我自己就踩过这个大坑,几年前我们团队做一款电商类APP,赶项目上线周期,测试的时候只测了几款主流的旗舰机,没顾上新出的折叠屏,结果上线一周,大量折叠屏用户反馈:商品详情页的购买按钮跑到了屏幕可视区域外面,根本点不到,三天之内应用商店多了两百多条一星差评,日活掉了近十分之一,我们紧急加班出了修复版本,花了一个多月才把口碑和用户量拉回来。从那之后我就认准了一个理:不管你的功能做得多花哨,运营做得多好,适配出问题,用户说卸载就卸载,根本不给你解释的机会。1.2.3做好适配才能覆盖更多细分用户群体适配从来不是只给旗舰机用户做的,很多老年用户还在使用两三年前甚至更老的机型,很多低收入群体用的是分辨率偏低的入门机型,还有残障群体需要无障碍适配支持。做好适配,才能让这些用户群体也能正常使用你的产品,不然哪怕你的功能再强大,对这些用户来说就是不可用的产品,相当于直接放弃了这部分市场。搞清楚适配性的核心价值之后,我们结合日常开发的实际情况,不难发现当前移动端适配还面临着诸多棘手的问题,这些痛点也是我们做适配性研究要解决的核心目标。2当前移动端软件开发适配面临的核心痛点2.1屏幕显示碎片化带来的布局痛点这是最常见也是最直观的痛点。过去开发用固定像素写布局,在同比例屏幕上问题不大,现在屏幕尺寸、比例差异极大,固定像素的布局要么在小屏上显示不全,要么在大屏上内容稀疏,浪费大量空间。更麻烦的是异形屏的出现,刘海屏、挖孔屏、灵动岛这些非显示区域,要是不对内容做安全区域避让,很容易把按键、标题这些核心内容挡住,我就见过不少成熟的APP,把返回键挡在灵动岛下面,用户根本点不到,体验差到极点。折叠屏普及之后这个问题更突出,用户一会折叠用外屏,一会展开用内屏,软件要是不能跟着屏幕尺寸变化自动调整布局,展开之后就是一大片空白,完全浪费了大屏幕的优势。2.2系统与厂商定制带来的兼容性痛点安卓开源的特性决定了各家厂商都可以修改自己的系统底层,不同品牌的定制系统对API的实现、权限的管理都有差异,同样的代码在原生安卓上运行正常,放到不同厂商的定制系统上可能就会出问题。比如调用相册选图,不同厂商的存储路径规则不一样,老版本系统和新版本系统的分区存储规则不一样,不做兼容适配,很容易出现找不到图片的问题。再比如推送服务,国内厂商基本都禁用了谷歌推送,要求接入各自的厂商推送,要是只做了通用推送,国内大部分用户都收不到消息提醒。哪怕是封闭的iOS,每次大版本更新都会推出新的隐私规则、权限规则,不及时适配,要么会被系统弹窗提醒,要么直接无法上架应用商店。2.3特殊硬件与人性化需求带来的新痛点除了常规的屏幕和系统适配,现在越来越多新的硬件形态和人性化需求对适配提出了更高要求。比如折叠屏的分屏、悬停功能,很多APP没做适配,分屏之后布局全乱,悬停状态下也没法利用半屏空间做交互;再比如无障碍适配,我之前一直觉得这个功能是可有可无的锦上添花,直到我们对接了一次视障用户访谈,才知道很多APP的核心按钮都没有加读屏描述,视障用户根本不知道这个按钮是干什么的,买个东西要摸索十几分钟,那时候我才意识到,我们多花十几分钟加几行代码,对这些用户来说就是能不能正常用产品的区别。还有老年用户喜欢调大字体,很多APP布局不支持动态适配,字体调大之后就会被切掉一半,根本没法看,这些都是现在适配要解决的新痛点。2.4适配成本与开发周期的平衡痛点对中小开发团队来说,这个痛点尤其突出。要做好适配就得买齐主流品牌不同价位的测试机型,光这一笔投入就不小,很多小团队根本承担不起;而且适配本身就要花大量的时间调试,项目赶上线的时候,往往就会把适配工作往后拖,最后拖成了线上的问题。现在用户对体验要求越来越高,不配不行,配了又要增加大量的开发和测试成本,怎么平衡成本和体验,一直是行业里的难题。既然这些痛点已经成为影响移动端产品体验的核心瓶颈,行业内也已经摸索出了多种行之有效的适配方案,接下来我结合自己多年的开发实践,对这些主流方案做一个梳理分析。3移动端软件开发主流适配方案的实践分析3.1基础适配:密度无关像素单位方案这是现在所有移动端适配的基础,安卓用dp作为长度单位,苹果用point作为单位,本质上都是抛弃物理像素,用和屏幕密度挂钩的相对单位来做布局,这样不同密度的屏幕上,同一个控件显示出来的物理大小基本一致,解决了不同分辨率屏幕显示大小差异过大的问题。我刚入行的时候就学这个方案,这么多年用下来,它确实解决了大部分基础的分辨率适配问题,但它也有局限,就是只能解决大小比例的问题,解决不了屏幕尺寸差异带来的布局问题,同样的dp在5寸小屏和7寸大屏上,内容密度完全不一样,所以这个方案只能做基础,必须配合其他方案才能解决问题。3.2布局适配:响应式约束布局方案现在不管是安卓还是iOS,主流的开发都已经换成了约束布局和响应式布局,这个方案的核心是不用绝对位置定义控件,而是用控件之间、控件和父布局之间的相对约束来排版,屏幕变大变小,控件会自动按照约束调整自己的位置和大小,不会出现乱布局的问题。现在新的声明式UI框架,比如安卓的JetpackCompose和苹果的SwiftUI,本身就是天生支持响应式的,可以很方便地根据屏幕尺寸切换布局逻辑:比如屏幕宽度小于一定值的时候用单列列表,宽度超过阈值就自动换成双列,这个对折叠屏适配特别友好,我们之前改造折叠屏适配的时候,就是用响应式布局重构了首页和列表页,改造完展开内屏之后自动变成双列,内容利用率一下子提高了很多,用户反馈也好了很多。3.3资源适配:多套资源动态加载方案针对不同分辨率的屏幕,我们一般会准备多套不同大小的资源,比如不同分辨率的图片,小屏幕用小图省内存,大屏幕用大图避免模糊,现在矢量图普及之后,大部分图标都可以用矢量图,不用准备多套,不管多大屏幕都不会模糊,还能减少安装包的体积,非常方便。针对不同系统版本的兼容性问题,我们一般会做判断,在老系统上调用兼容的旧API,在新系统上调用新的API,避免因为API不存在导致的崩溃问题,这套方案现在已经非常成熟,大部分开发框架都自带了判断逻辑,开发起来也不是很麻烦。3.4特殊场景定制适配方案针对异形屏,我们现在都会做安全区域适配,把所有核心内容都限制在系统给出的安全可视区域内,避开刘海、灵动岛这些非显示区域,不会出现内容被挡住的问题;针对折叠屏,我们会监听屏幕的尺寸变化和折叠状态,自动切换对应的布局,还会适配悬停场景,比如视频播放的时候悬停,上半部分放画面,下半部分放控制栏,非常符合用户的使用习惯;针对人性化需求,我们会做动态字体适配,整个布局会跟着用户设置的字体大小自动调整,不会出现字体被切掉的问题,还给所有的可交互控件加上了读屏描述,支持系统的无障碍功能,我们做完这些改造之后,收到过好几个老年用户和视障用户的好评,说终于能顺畅用我们的产品了,那时候真的觉得多花的这些功夫特别值。现有方案已经解决了大部分适配问题,但行业还在不断发展,适配性优化也还有进一步提升的空间。4移动端适配性优化的未来发展方向4.1提升跨端框架的统一适配能力现在越来越多的团队选择用跨端框架开发,一套代码多端运行,未来跨端框架应该进一步提升底层的统一适配能力,把不同系统、不同设备的适配逻辑都封装在框架底层,开发不用自己单独调试两端的适配问题,只要写一套逻辑就能自动适配所有设备,这样能大大降低开发的适配工作量。现在主流的跨端框架已经在往这个方向走了,相信再过几年,适配的工作量会比现在少很多。4.2用自动化工具降低适配成本针对中小团队买不起大量测试设备的问题,现在云测试服务已经很成熟了,云端有几百上千台不同型号的测试设备,开发上传安装包之后就能自动跑测试,帮你找出显示异常、崩溃这些适配问题,不用自己买设备。未来AI技术也会进一步用到适配里,现在已经有AI能根据设计稿自动生成符合响应式要求的布局,还能自动检测适配漏洞,能帮开发省很多调试的时间,大大降低适配的成本。4.3进一步强化人性化适配的覆盖现在很多产品的适配还只停留在“能正常显示”的阶段,未来适配一定会越来越偏向人性化,要照顾到不同群体的需求,老年用户的大字体、大按钮,色弱用户的高对比度模式,残障用户的无障碍适配,这些都会成为标配的适配要求,适配不再是给机器做的,最终是给不同的人做的,这个方向还有很大的提升空间。结语总的来说,移动端软件开发的适配性看起来是开发过程中的细节工作,实际上是影响产品体验、甚

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论