QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

优酷暗黑模式(七):暗黑模式的技术支撑 Weex & H5

  • 2020-02-27
  • 本文字数:1140 字

    阅读完需:约 4 分钟

优酷暗黑模式(七):暗黑模式的技术支撑 Weex & H5

在本文中,我们会介绍优酷 App 的 Weex 和 H5 页面是如何尽可能复用 Native 端的实现方案,实现暗黑模式的。

一、适配原理

对于 Weex 和 H5 页面的暗黑模式支持,我们考虑了几种方案。


第一种方案,只提供视觉模式查询能力,由具体页面的开发同学来控制效果;


第二种方案,建立 JavaScript 版本的公共资源库和设计标准化体系;


第一种方案过于简单,难以对最终页面呈现结果做统一管控;


第二方案又比较重,需要较长的时间成本。


我们的最终的方案是:Native/Weex/H5 具体页面的开发都统一按照视觉标准化定义的 DesignToken 进行开发,这样同一套设计体系可以复用到不同的渲染方式。Native 容器在加载 Weex 或 H5 页面时,将当前的色值表传给 JavaScript 侧;JavaScript 侧不用关心当前所处的视觉模式,只需要读取色值表并设置到页面组件。


Weex/H5 页面实现暗黑模式的架构图:



Weex/H5 的实际使用场景一般是作为活动的承载页,内容的落地页,和跨应用业务的交互页。但不论是哪种,都是嵌入在整个原生页面交互链路上的。所以我们把 Native 当作是 Weex/H5 容器的运行环境,Native 触发动态页面的渲染时,我们会将色板从色彩管理器中取出,传递给 JavaScript 侧,然后借由 JavaScript 侧影响最终的视觉效果呈现。

1. Weex 页面的适配

Weex 渲染流程图:


2. H5 页面的适配

H5 渲染流程图:



色彩管理器向 JS 传递的色板数据


{    "cb_1":"rgba(36,165,255,0)",    "cb_2":"rgba(0,179,250,0)",    "cb_3":"rgba(25,69,121,0)",    "cd_1":"rgba(0,0,0,1)",    "cg_1":"rgba(28,32,41,0)",    ......    "ykn_belt":"rgba(37,37,43,0)",    "ykn_blackNavigationBar":"rgba(29,29,33,0)",    "ykn_elevatedPrimaryBackground":"rgba(37,37,43,0)",    "ykn_elevatedPrimaryGroupedBackground":"rgba(37,37,43,0)",    "ykn_elevatedSecondaryBackground":"rgba(37,37,43,0)",    "ykn_elevatedSecondaryGroupedBackground":"rgba(51,51,55,0)",    "ykn_elevatedTertiaryBackground":"rgba(66,66,69,0)"}
复制代码


通过这样的技术方案,我们最终达成了同一份业务代码,自动适配系统的视觉模式。无论是 Weex 页面还是 H5 页面,最终的视觉效果是和 Native 页面保持和谐统一的。

二、页面视觉效果

以下是 Weex/H5 页面最终呈现的视觉效果:

1. H5 页面视觉效果

H5 页面的普通模式:



H5 页面的暗黑模式 :


2. Weex 页面视觉效果

Weex 页面的正常模式:



Weex 页面的暗黑模式:



作者简介


涵父,阿里文娱无线开发专家。


相关阅读


优酷暗黑模式(一):是什么、为什么、如何落地?


优酷暗黑模式(二):如何建立设计语言标准化管理体系


优酷暗黑模式(三):暗黑模式设计指南


优酷暗黑模式(四):设计标准化的技术实现


优酷暗黑模式(五):暗黑模式的技术实现策略


优酷暗黑模式(六):暗黑模式的技术支撑 iOS


2020-02-27 10:001906

评论

发布
暂无评论
发现更多内容

数造科技荣获2024年“年度数据资源创新开发企业”

数造万象

数据 数据治理 数据开发 政府积极推进 科技

面试必问!项目高频面试题解析

王中阳Go

面试 后端

警务协同办公系统(源码+文档+部署+讲解)

深圳亥时科技

AI技术在评估英语学习的应用

北京木奇移动技术有限公司

AI技术 AI教育 软件外包公司

人工智能伦理困境:技术发展的界限在哪里?

天津汇柏科技有限公司

AI 人工智能

一位海外开发者的 OpenSPG KAG 实践分享

可信AI进展

知识图谱 大模型 rag RAG搭建

商机信息平台(源码+文档+部署+讲解)

深圳亥时科技

显卡危机的解决方案,全面解析ToDesk云电脑:服务配置与应用场景探索

小喵子

云电脑 云游戏 云电竞

NodeLocalDNS:优化集群DNS性能与可靠性的利器

代码忍者

使用火语言RPA批量创建指纹浏览器

火语言RPA

云行| “智”绘首都发展新篇章,天翼云携手伙伴共创“京”彩未来!

天翼云开发者社区

人工智能 云计算 天翼云

国家大力推进车联网信息安全体系建设

芯盾时代

车联网 物联网 电动汽车

供应链计划性能优化解决方案-Clickhouse本地Join

京东科技开发者

架构提效的矛盾和矛盾的主要方面

京东科技开发者

鸿蒙NEXT使用request模块实现本地文件上传

威哥爱编程

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT HarmonyOS5.0

京东JD商品详情原数据API接口的开发、运用与收益

科普小能手

数据挖掘 数据分析 电商 京东 API 接口

本地(或自下载)浏览器插件 安装指南

京东科技开发者

AI技术在英语发音纠正中的应用

北京木奇移动技术有限公司

英语学习 AI技术 软件外包公司

区块链音乐NFT的开发框架

北京木奇移动技术有限公司

区块链技术 软件外包公司 音乐NFT

CATO:黄油猫 CATO: Buttered Cat for Mac(趣味解谜游戏)

Rose

智慧党建系统(源码+文档+部署+讲解)

深圳亥时科技

kookeey功能上新 | 动态线路美国新增51个二级地区

kookeey代理严选

亚马逊 海外直播专线 tiktok直播 跨境电商运营 海外网络连接

镜舟科技荣登《2024 中国大数据产业年度「国产化」优秀代表厂商》榜单!

镜舟科技

开源 数据分析 分析型数据库 StarRocks 湖仓

谷云科技iPaaS V7.0+企业级AI Agent产品全新发布

RestCloud

API 数据集成 ipaas AIAgent

镜舟科技2024年度回顾,坚持长期价值,进一步实现商业突破

镜舟科技

开源 数据分析 StarRocks 镜舟科技

Premiere Pro 2024 新功能 pr2024破解版安装包-Mac&win

Rose

AI技术在英语学习中的应用

北京木奇移动技术有限公司

英语学习 AI技术 软件外包公司

京东商品视频数据接口(JD.item_video)丨京东API接口指南

tbapi

京东API接口 京东商品视频接口

25年你还不知道什么是云管平台吗?来这里看看!

行云管家

云计算 云服务 云管平台

优酷暗黑模式(七):暗黑模式的技术支撑 Weex & H5_移动_阿里巴巴文娱技术_InfoQ精选文章