优酷APP响应式布局技术概述 | 《优酷响应式布局技术全解析》第一章

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 本章介绍 优酷APP响应式布局技术概述

下一章:优酷APP响应式布局技术之Android篇 | 《优酷响应式布局技术全解析》第二章>>>

作者| 阿里巴巴文娱技术 叮东

一、背景

近年来,大屏手机、安卓Pad、iPad、折叠屏手机、车机大屏等大尺寸设备发展迅猛。尤其是2020年二季度中国平板市场出货量达到661万台,同比增长17.7%,其中苹果 iPad市场份额占比41.8%,华为平板市场份额占比37.1%。

image.png

安卓系统运行在越来越多尺寸的设备上,开发的手机App如何适配到不同尺寸上,是安卓开发者遇到的痛点。同时苹果也推荐开发适配手机和iPad的Universal版本,支持iPad的诸多新特性,例如侧拉、分屏使用等。基于以上背景,我们启动了优酷APP响应式,适配不同屏幕尺寸下的显示效果。

image.png

二、什么是响应式

描述响应式最著名的一句话就是“Content is like water”,翻译成中文便是“如果将屏幕看作容器,那么内容就像水一样流淌”。
响应式就是基于同一套代码,开发一个APP能够兼容多尺寸、多终端设备的显示,能够动态调整页面的布局以及容器的布局,充分利用当前屏幕的尺寸,为用户显示更多的内容,提供更好的浏览体验,同时提升APP的开发效率,迭代速度更快,保障多终端业务同步发展。

image.png

三、响应式的优势

image.png

1、开发成本更低 —— 一套代码

想要在不同尺寸屏幕的终端上获取良好的显示效果,传统的应用适配方案是针对不同尺寸的终端设备开发多个APP,例如很多厂商都会针对Pad推出HD版本。而响应式的APP可以根据屏幕具体的物理尺寸自适应的显示,只需要开发一套代码,就可以兼容多种尺寸的终端,不需要开发单独的HD版本。
不同的终端的App,由不同的垂直团队开发,会带来不同的后台系统和客户端技术方案,前后端技术能力会走向分化。响应式是同一个APP运行在不同尺寸的设备上,使用统一的后台系统,一次开发,多端生效。

image.png

2、设计成本更低 —— 一套设计规则

响应式使用了一套界面自适应的布局方案,横向拉通页面以及容器布局的适配规则,提高了屏幕的显示效率,面对不同分辨率的设备适应性更强,最大化提升用户的操作体验。一套设计规则,适配不同的尺寸,做到以不变应万变,大大节约了设计的成本。

image.png

3、业务迭代更快 —— 多端业务同步发展,一次运营多端生效

响应式APP多端保持一致的版本发布节奏,业务方在迭代过程中,会考虑多端的不同使用场景,业务特性能快速在多端同步推进。
往往不同终端有不同的运营系统,可能存在多个垂直运营团队,一次运营动作需要操作多次。响应式基于同一个客户端、后台和运营系统,运营收敛到一个团队,一次运营多端同步生效。

四、响应式的设计思路

如何在不同尺寸不同分辨率的屏幕下,有效的利用屏幕的尺寸?最简单的理解就是在大屏幕上显示更多的内容。这就需要在设计侧通盘考虑所有尺寸的屏幕,拉通不同宽高比例的设计规则,动态调整可见元素的布局(元素的列数以及尺寸等),在不同尺寸的设备上都能达到最佳的显示效果。

image.png

1、基本原则

1) 内容自动伸缩,保证适配内容填满当前屏幕;
2) 坑位列数可灵活按照屏幕的宽高比例进行适当增加或减少进行排版布局;
3) 组件内的内容可根据页面的宽度自动隐藏或显示部分内容,进行整个屏幕的适配,减少留白;
4) 页面边距间距用物理尺寸dp表示。在不同的设备上保证左右边距、间距的物理尺寸不变,内容做自适应;
5) 在不同机型适配上,交互方式符合大部分用户的使用习惯,体验是连贯统一的;
6) 同一页面在不同大小和比例及分辨率下看起来都是舒适的、合理的;
7) 内容在多尺寸响应适配下如遇适配成本过高或适配不了的情况,设计&产品&开发需要基于体验、业务、实现成本考虑达成一致,以低成本无损体验方式来完成适配

2、适配规则

1) 拉伸布局,内容元素在相对宽度内通过结合内容的展示隐藏来进行进行相应的拉伸适配,比如顶导航底导航;

image.png

2) 等比缩放,界面中元素在相对位置内按照一定比例进行缩放;

image.png

3) 扩展布局,通过内容元素的增加或减少,扩展为多行或者多列重复排列;

image.png

4) 组合布局,模块与模块进行组合,去适配宽度;

image.png

5) 内容固定居左,横屏&竖屏下固定布局,大小尺寸不变居左展示;

image.png

6) 内容固定居中,在横屏竖屏下比例不变 保证内容居中展示;

image.png

7) 分栏布局,页面的结构发生变化,按照屏幕宽度左60%,右40%占比进行分两栏展示。在优酷视频中,分栏布局主要用于播放页的展示,左60%宽度提供良好的播放体验,右40%宽度方便用户操作,推荐相关视频内容和评论;

image.png

五、响应式的架构设计

响应式的核心是拉通多终端的适配规则,开发一套界面,一个APP兼容多尺寸终端设备的显示,能够根据用户的行为以及设备的环境(屏幕尺寸、屏幕方向、是否分屏等)进行相应的页面布局以及容器尺寸的调整。为此响应式SDK提供了响应式状态管理、横竖屏切换、容器列数换算规则、容器尺寸适配规则、页面宽高获取方法、响应式基础控件等基础能力。业务方只需要接入响应式SDK,就能够方便快捷的解决在不同尺寸下的适配问题。

image.png

从结构上看,响应式由响应式SDK、响应式页面布局、响应式容器布局三部分相互配合完成,在这些的基础上支撑了首页、频道页、播放页、会员页、搜索、个人中心等众多的业务场景。
在Android和iOS上,如何进行响应式状态的管理?如何解决分屏下页面宽高的获取?如何解决多尺寸多终端下的页面布局以及组件容器的布局?具体细节请看以下两篇文章:
《响应式技术架构(Android)》
《响应式技术架构(iOS)》

六、响应式的业务改造

经过前期的技术调研,确定了Android、iOS、Flutter、Weex、H5等技术栈的适配方案,并以首页、频道页、播放页三大业务场景为切入点,完成初期响应式适配,进行效果演示。验证适配方案可行性后,决定在优酷所有核心业务场景落地。为了推进项目的顺利进行,召集了相关核心业务场景的技术、产品、设计、测试同学,进行项目kick off,介绍项目背景以及价值,明确相关业务团队具体的工作和节奏,经过1个月所有同学的努力,顺利在所有核心场景上线。
具体参与改造的核心业务场景有:首页、频道页、播放页、搜索、会员、会员交易、动态、个人中心、二级页、互动、评论等,部分场景适配效果如下所示:

image.png

响应式业务改造涉及众多的业务场景以及技术栈,如何在实际的适配过程中,确保所有的业务场景和技术栈都能低成本高效的适配,是响应式落地的关键。那么业务方在适配过程中具体做了哪些工作?如何解决多技术栈的响应式改造?如何保障响应式适配后的用户体验?由于优酷的业务场景非常多,分发场景和消费场景是其中最典型也最重要的,推荐查看以下这两个场景的落地文章:

《优酷响应式在消费场景的落地 Android》
《优酷响应式在消费场景的落地 iOS》

七、响应式的测试与上线

优酷响应式适配对测试来说面临着很大的挑战,既要保证不同尺寸上的适配效果,又要保证业务的完整。这就要求在测试过程中需要进行功能测试、稳定性测试、性能测试以及兼容性测试,具体细节请看以下文章:
《优酷响应式测试方案》

相关文章
|
2天前
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
36 12
|
18天前
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
44 5
|
2月前
|
机器学习/深度学习 监控 安全
量化合约对冲策略交易app系统开发技术规则
量化合约对冲策略交易APP系统开发技术规则涵盖系统架构设计、量化策略实现、交易管理、风险管理、用户界面设计及性能优化等方面。通过模块化设计、分布式架构、数据持久化、策略开发、算法交易、回测优化、订单管理、持仓监控、资金安全、风险控制、实时监控、安全审计、界面设计、反馈机制、多语言支持、响应速度、资源优化和兼容性等措施,确保系统的稳定、安全、高效和易用。
|
4月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
124 12
|
3月前
|
NoSQL PHP Redis
布谷语音app源码服务器环境配置及技术开发语言
布谷语音app源码服务器环境配置及技术语言研发。。
|
3月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
495 0
|
5月前
|
JSON 数据格式 索引
【Azure Developer】Azure Logic App 示例: 解析 Request Body 的 JSON 的表达式? triggerBody()?
【Azure Developer】Azure Logic App 示例: 解析 Request Body 的 JSON 的表达式? triggerBody()?
|
5天前
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
1天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
5天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈

热门文章

最新文章

推荐镜像

更多