百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

优酷前端团队用 imgcook 打造智能物料生成平台

sinye56 2024-10-25 16:15 7 浏览 0 评论

文/ 大文娱事业群 优酷 - 罄天、阿里淘系 F(x) Team - 苏川

Minion 是优酷前端团队自研的智能物料生成平台,平台结合 imgcook 、lowcode 等技术打造了一条新的物料开发链路,结合自身业务,适配优酷研发生态,区分研发/非研发双视角,生成可搭建可迭代的物料。


Minion 接入了设计稿生成代码平台 imgcook 提供的 Sketch 插件图层解析能力、布局生成 Open API ,自动根据设计稿产出 UI 部分低代码 schema 片段,用于在 lowcode 平台进行后续开发和发布, 平台中提供了研发/非研发双视角让设计师和前端都可以使用。

在Minion平台,设计同学可基于imgcook的智能识别,集团的低代码能力独立研发、上线业务组件,做到整个过程前端的 0 投入。同时,通过与营销搭建平台其他模块的整合,生成独立的通用玩法模板,做到业务的开箱即用。目前,整套方案已覆盖优酷 FY21 春节、双十一、大剧热综等场景。在 OTT 大屏模板生产上,通过引入智能化的能力提升了客户端模板的生成效率,在保证低端设备用户体验的基础上,将原有依赖客户端发版的部分业务周期缩短为天级、甚至小时级。同时,通过在大屏桌面引入活动能力,进一步缩短了原有营销场景的业务转化链路,提升了业务的转化效率。

使用情况

  • 时间:2020.5 -至今
  • 使用对象:设计师、前端开发、TV端客户端研发
  • 使用场景:多数为小屏 UI 卡片类模板和大屏客户端模板代码生成,以及少数的小屏复杂业务组件代码生成
  • 场景提效:设计模式前端 0 投入,研发模式提效 40%

使用场景

智能物料生成平台 Minion 提供了设计/研发双模式以适应不同场景与用户身份,同时与投放系统相整合做关键场景的流量精细化与用户召回。?

  • 设计模式:在优酷站内外场景,设计同学无需前端干预的情况下基于 imgcook 提供的能力从设计稿产出多端、多状态组件并发布上线,覆盖常见内容运营场景。在大屏 OTT 场景,提供产出通用模板的能力,并与客户端 CloudView SDK 整合,提升大屏终端应用、模块迭代效率。
  • 研发模式:以 UI 精细化来减少营销场“转场”的流量折损,提升目标转化;构建 UIBuilder,将 low-code 与 pro-code 结合,提供与研发链路整合的能力

Minion 平台的产物目前分为两种,一种是用于营销场搭建的组件物料,比起产出页面更适合 C 端的场景,和 procode 开发出的物料一样可升级迭代,业务方在使用时完全无感。另一种是统一规范的数据,通过与投放系统的整合做到分人群的精细化投放。?

以下是一些产物示例:UI 卡片类模板(小屏),客户端模板(OTT),复杂业务组件(偏少)

  • UI卡片类模板(小屏):


  • 小屏复杂业务组件


  • 大屏客户端模板(OTT)


落地效果

  • 优酷小屏研发场景,设计同学可借助Minion平台独立研发、上线组件,同时通过沉淀搭建平台通用营销玩法模板方式,做到业务开箱即用。目前基于此方案生产的线上模块,已覆盖优酷 FY21 双十一、寒假、春节等大型战役。
  • 优酷 OTT 客户端模板生成场景,通过模板的智能生成、手动校准、一键发布即可完成业务迭代,无需等待长周期的客户端发版,原有部分业务迭代周期从周级缩短为天级

技术方案

小屏营销场景整体链路

Minion 平台通过 imgcook 提供的 Sketch、Photoshop 插件获取模块元数据,然后在 Minion 平台进行视觉还原。通过与low-code 模式相结合,将模块元数据转化为组件层级树,并提供可视化实时调整与预览能力。Minion 平台除提供属性调整和变量绑定能力外,还提供了基础原子逻辑注入功能,如常见的跳转、收藏、预约等。通过视觉调整、逻辑调整后即可获取完整的模块数据。在模块的输出形式上,目前提供两种模式,即出码模式和数据模式。


出码模式通过转码插件将模块数据转化为源代码,然后完成自动建仓、代码推送、发布、注入搭建系统等后续链路,一系列流程完成后在搭建系统中即可使用该模块来搭建页面并完成线上投放。数据模式下,通过统一多端数据格式,投放系统结合,提供多端解析器(如小屏/OTT)等诸多手段实现端、场景的差异化投放,达到关键场景的流量精细化。


OTT 客户端模块研发链路

Minion 平台除应用在前端场景,也在逐步向 OTT 客户端场景延伸,客户端应用链路主要是通过 imgcook 来完成模板生产。?

状态映射上,将 Minion 的多画板能力与客户端焦点态和非焦点态进行关联,单画板的属性调整即对应于客户端指定视图的属性调整。?

布局方式上,通过 low-code 语义化客户端布局模式(该模式适用 OTT 层级不多的场景),保证在模板尺寸变化下视图的自适应能力。?

模板预览与投放上,结合优酷大屏阿丽塔真机平台,实现OTT大屏实时预览能力,并与下游投放系统打通,实现从模板生产到模板投放的完整链路建设。?


OTT 客户端模块研发链路图

目前 OTT 客户端模板研发链路正在逐步完善。在进一步提升 D2C 在大屏识别准确度的基础上,通过整合下游系统、完善大屏模板生产链路来提升模板生成效率与用户体验,进一步实现大屏客户端模板在更多场景的渗透。

研发步骤

Minion平台组件生产流程

第 1 步:新建组件

在 Minion 平台新建一个组件,如果是开发就进入开发模式,否则进入设计模式。?

第 2 步:使用 imgcook Sketch 插件导出图层解析后的 JSON Schema

从 imgcook Sketch 插件 导入数据,选择设计稿尺寸并解析,如果组件需要多状态,添加多个画板即可。?

第 3 步:配置、预览、发布

解析后可设置搭建配置变量并预览、发布、并开始搭建系统后置流程。?

接入的 imgcook 能力

1、Sketch 插件解析能力

imgcook首页 下载 imgcook Sketch 插件安装,使用 Sketch 插件导出图层解析后的 JSON Schema。


2、布局生成能力

Minion 是一个智能物料生成平台,借助 imgcook 提供的布局生成接口能力将 Skecth 导出的数据转化为低代码规范 Schema 片段,然后设计器再进行深加工。

3、自定义 DSL 生成多端代码的能力

因为需要在 Phone、PC、Pad、OTT 及 MiniApp 多端投放,除了使用 imgcook 官方提供的 DSL,我们还根据 imgcook DSL 的开发指南 自定义了几个 DSL,支持生成多端代码。

  • 优酷 OTT 侧 Rax 开发规范
  • Rax 好莱坞新协议规范

可借鉴的亮点

  • 设计规则:和设计师合作,遵循 imgcook 设计稿规范并提供部分常见私有打标规范与平台解析能力。
  • 数据记忆能力:设计稿改动并重新识别后,平台侧已有部分调整能提供记忆能力,防止数据丢失。
  • 常见行为内置:提供内容运营场景常见用户行为,如收藏、预约、跳转等能力。
  • 提供设计研发双模式:对应无代码和源码两种生产方式,在设计视角中屏蔽多余的配置干扰,为非研发同学提供简洁易用的操作环境。
  • 提供画板能力:对应多种状态下的 UI 视图,使一个模块还原出所有状态。
  • 数据与出码两种模式:支持 Phone(H5/Rax)、PC、Pad、OTT 及 MiniApp 各端组件生产。


接入团队

优酷团队

  • 前端:琰玉、罄天、芙乐、鸿薇、康康等
  • 设计师:佳妮、张芮、慕琰

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: