OTT端性能优化建设之Weex实践之路 | 《优酷OTT互联网大屏前端技术实践》第三章

简介: 追求极致的用户体验是个永恒的话题。无论在PC端、移动端,还是IOT端,大家都在尝试着各种技术方案,如提高秒开率,降低白屏时间等等。在OTT端进行营销活动开发的我们,也面临这一挑战,尽管PC端和Mobile端都有成熟的技术方案,但是到了大屏端,由于终端的差异性,很多技术方案不能完全照搬照抄。回顾优酷在OTT端的用户体验探索之路,经历了三个阶段:webview时期、自定义内核Blitz时期、weex阶段。

上一章:OTT端登录态设备穿透:扫码登录与扫码反登录 | 《优酷OTT互联网大屏前端技术实践》第二章>>>

下一章:OTT端技术赋能之前端收单能力建设 | 《优酷OTT互联网大屏前端技术实践》第四章>>>

点击免费下载
《优酷OTT互联网大屏前端技术实践》>>>

test

作者| 阿里巴巴文娱技术 默吉

追求极致的用户体验是个永恒的话题。无论在PC端、移动端,还是IOT端,大家都在尝试着各种技术方案,如提高秒开率,降低白屏时间等等。
在OTT端进行营销活动开发的我们,也面临这一挑战,尽管PC端和Mobile端都有成熟的技术方案,但是到了大屏端,由于终端的差异性,很多技术方案不能完全照搬照抄。
回顾优酷在OTT端的用户体验探索之路,经历了三个阶段:webview时期、自定义内核Blitz时期、weex阶段。

当前weex(RAX)是OTT端的主要技术方案,它贯穿着整个前端页面的开发,无论是活动页面、半屏互动,还是常驻页面的开发,我们都采用这种技术方案,它带来了类似客户端的用户体验,相对H5的页面流畅度,体验效果上有明显的提高。

一、发展历程

1、webview时期:

活动页面采用原生的webview进行渲染,性能体验上勉强够用,但由于OTT设备多为弱硬件环境,而且在视频播放这块无法得到定制扩展,所以原生的webview有一定受限。

image.png

2、自定义内核时期:

Blitz web引擎是一套类似webview的渲染引擎。引擎前期投入人力很大,后期由于业务的调整引擎处于停滞状态,很多性能需求无法实现,如本地缓存,zcache介入等。在这个过程中我们尝试了很多提升用户体验的方案,如根据页面load加载时机,结束后再做整体展示,减少loading时间,设置1%分辨率的背景作为模糊图;其它优化方案如:异步加载js、懒加载图片、预加载等等,前端能做的方式都尝试了一遍,但结果都收效甚微。

性能优化方案:【loading加载时间,预加载,静态文件缓存】

image.png

3、weex时期:

weex技术在阿里集团的广泛推广,为OTT端带来曙光。客户端同学尝试将weex能力输出到OTT端,最终页面的性能体验发生质的变化。
由于OTT端的交互方式与传统端存在差异,所以在weex的引入过程中,客户端同学做了很多差异化处理。如jscore的剥离(OTT端只有andriod),焦点引擎的引入(OTT端靠遥控器操作),自定义组件等等。
性能优化方案:【首屏渲染效果,多屏滚动展示,视频播放,图片渲染 】

image.png

二、weex实施方案

1、实施步骤:

• 增加可视化搭建weex输出能力(原有ARK平台只支持H5页面的输出,平台侧增加weex的打包能力),将原有40+个H5组件进行weex化,这部分可以解决80%的业务场景问题。
• 源码weex开发,解决20%的定制化场景,如双11等大型活动及战役,这部分针对定制化源码开发,将H5源码开发的方式切换到weex的技术栈上。

2、技术细节:

• OTT端weex的差异性,一图胜千言。

image.png

• 可视化搭建技术改造方案

image.png

3、相关数据:

• 数据指标:【页面加载提升】【页面渲染流畅】【用户体验改善】

image.png

4、效果展示:

• 全屏weex

image.png

• 半屏互动
image.png

• 页面APP化

image.png

三、共建

输出OTT端的Rax能力到阿里集团,提供详尽的开发文档

image.png

经过技术栈升级与优化,weex成为阿里文娱OTT端-前端业务的主要开发技术栈。相较于HTML5技术栈,weex稳定性及性能均有了长足进步。以页面加载效率为例,使用weex后,页面平均加载时间缩短了50%以上,效果显著。

相关文章
|
1月前
|
前端开发 JavaScript 开发者
前端开发中的组件化设计与性能优化
【10月更文挑战第7天】前端开发中的组件化设计与性能优化
43 0
|
2天前
|
编解码 前端开发 开发者
前端开发中的响应式设计实践
前端开发中的响应式设计实践
|
16天前
|
编解码 前端开发 UED
探索无界:前端开发中的响应式设计深度解析与实践####
【10月更文挑战第29天】 本文深入探讨了响应式设计的核心理念,即通过灵活的布局、媒体查询及弹性图片等技术手段,使网站能够在不同设备上提供一致且优质的用户体验。不同于传统摘要概述,本文将以一次具体项目实践为引,逐步剖析响应式设计的关键技术点,分享实战经验与避坑指南,旨在为前端开发者提供一套实用的响应式设计方法论。 ####
40 4
|
28天前
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。
|
13天前
|
编解码 前端开发 UED
前端开发中的响应式设计实践
前端开发中的响应式设计实践
28 0
|
1月前
|
前端开发 JavaScript 开发者
构建工具对比:Webpack与Rollup的前端工程化实践
【10月更文挑战第11天】本文对比了前端构建工具Webpack和Rollup,探讨了它们在模块打包、资源配置、构建速度等方面的异同。通过具体示例,展示了两者的基本配置和使用方法,帮助开发者根据项目需求选择合适的工具。
25 3
|
1月前
|
前端开发 JavaScript 开发者
利用代码分割优化前端性能:高级技巧与实践
【10月更文挑战第2天】在现代Web开发中,代码分割是优化前端性能的关键技术,可显著减少页面加载时间。本文详细探讨了代码分割的基本原理及其实现方法,包括自动与手动分割、预加载与预取、动态导入及按需加载CSS等高级技巧,旨在帮助开发者提升Web应用性能,改善用户体验。
|
1月前
|
前端开发 JavaScript 开发者
深入解析前端开发中的模块化与组件化实践
【10月更文挑战第5天】深入解析前端开发中的模块化与组件化实践
23 1
|
1月前
|
前端开发 JavaScript API
前端开发趋势与实践:拥抱Web Components
前端开发趋势与实践:拥抱Web Components
41 4
|
1月前
|
JavaScript 前端开发 Docker
拿下奇怪的前端报错(二):nvm不可用报错`GLIBC_2.27‘‘GLIBCXX_3.4.20‘not Found?+ 使用docker构建多个前端项目实践
本文介绍了在多版本Node.js环境中使用nvm进行版本管理和遇到的问题,以及通过Docker化构建流程来解决兼容性问题的方法。文中详细描述了构建Docker镜像、启动临时容器复制构建产物的具体步骤,有效解决了不同项目对Node.js版本的不同需求。