淘宝小部件:全新的开放卡片技术!

发表于 3年以前  | 总阅读数:285 次

私域,即品牌自运营的空间,可以帮助品牌持续运营自己的消费者。

淘宝也在快速调整私域的布局:淘宝也有非常多的私域产品,譬如店铺、客服、消息等。在这些场景中,品牌商家需要利用创意、内容和服务留住消费者群体,并产生销售转化。但是做私域并不仅仅只是纯销售,更要用内容和服务把人留下来,让场里的人越留越多,这部分常驻人群才是「私域流量」。

商家和品牌通过持续稳定地提供优质内容,以及购买产品的后续服务,私域中的消费者比公域消费者能获得更大的价值,也更容易产生复购和品牌忠诚度。

所以商家会迫切希望能够深耕淘宝的私域场景,帮助自身更好地运营消费者。面对不同垂直行业不同属性的大量商家,全量满足商家的个性化诉求会是一个海量的工作,所以我们通过开放技术引入了三方生态来服务品牌和商家,帮助他们构建自己的淘系私域。

通过淘宝的开放技术,三方开发者可以为品牌商家制作创意内容和服务,最后在私域被消费者所触达。

那什么是淘宝的开放技术?

一 开放技术形态

淘宝的开放技术目前主要有两种形态,小程序是其一,淘宝基于小程序做了很多业务上的探索和技术上的实践。小程序承载了大量商家的个性化诉求,通过小程序,商家可以持续释放自身的创意并运营自身的消费者。小程序一定程度上解决了商家和消费者的连接问题。

再后来我们发现卡片形态更适合场景的开放诉求,在讲究高效率的电商场,一块前置并可以高度自定义的开放区域可以有效提升消费者的触达率。我们也在积极探索一种适合电商场景并且足够灵活、开放的卡片技术。

所以,今天给大家正式介绍一下淘宝开放技术的第二种形态。 基于小程序技术体系,面向标准化、轻量化、高性能的开放卡片场景,我们在业界首次推出了全新的开放卡片技术「小部件」。

本文将从以下四点分别进一步阐述我们的一些技术思考。

  • 技术设计策略
  • 核心技术设施
  • 业务场景接入
  • 技术演进路线

二 技术设计策略

开放业务场景,拥抱技术红利,释放商家创意,提升经营效率。

1 生产侧

小部件为开发者提供灵活、标准的技术选型。

小部件致力于解决场景卡片的开放问题,为开发者提供灵活、标准的技术选型来支撑商家的个性化诉求,并带来更具备体感的消费者体验。

面向与研发强相关的小部件, 我们希望开发者在同一个 IDE 中可以完成小部件/小程序的研发、调试、预览、上传等功能,所以「淘宝开发者工具」作为编辑工具与研发服务的结合平台,提高工具、服务之间的串联效率,一站式地帮助小部件的开发者提升整体效率。此外,在游戏互动卡片这块,开发者也可以直接使用游戏引擎的 IDE 来提高自身的研发效率。

开发者可以基于「淘宝开发者工具」的生产环境来构建自己的小部件,小部件的整个生产流程也是对齐小程序的开发模式,小部件积极拥抱三方开放生态,开发者可以使用标准的小程序 DSL,小部件的上层技术生态对齐小程序 Web 生态,无缝支持小程序前端框架、游戏引擎的运行接入。

此外面对表单配置能力,我们还在「淘宝开发者工具」支持了 JsonSchema 能力,通过 JsonSchema 的开放,小部件的开发者可以完成与小部件配套的商家端表单配置能力的研发,配置表单帮助商家可以灵活控制小部件的前台属性和后台接口。

2 投放侧

卡片形态的小部件需要一套强大的投放系统来支撑。不同场景的小部件云信息下发需要一个中心化的平台来支撑,基于这个中心化的平台,小部件卡片可以被灵活投放到不同的业务场景下。

开发者入驻后,选择自身需要研发投放的场景后,可以获取不同场景的尺寸信息和视觉规范,通过这层约束得以保证场景的消费者体验一致性。而对此,小部件的开发者通过我们的适配方案后仅需简单适配即可完成产物交付,实现一套代码多处运行的技术目标。

为此,我们提供了一套完整的投放能力。当开发者完成小部件的交付并且审核通过后,商家需要在商家端完成小部件的业务配置,并投放到线上环境。商家可以自主选择投放的场景,譬如店铺、会员、订阅、直播等等。 前台的业务场景服务端对接投放系统完成之后即可完成场景的小部件投放。

3 运行侧

卡片本身的特殊性导致了对渲染、性能、体验的要求极高。小部件容器提供了高效、稳定的环境来保证业务代码的执行效率。

能力方面,通过基础库技术协议的对齐,所有的基础/业务 API 能力我们都保证了对小程序容器的复用,并且和支付宝小程序容器保证了接口标准的一致性。这意味着开发者可以几乎 0 成本地调用所有小程序开放出来的 API 能力并获得和小程序完全一致的体验。

渲染方面,传统的 WebView 渲染方案在卡片形态下会比较厚重,多个卡片共存同一场景下的内存和体验问题也无法得到很好解决。为此,我们重新设计了一套更适合卡片场景的渲染方案,相对于小程序的 WebView 渲染引擎,我们在卡片场景中替换为全新的渲染引擎,即 Weex2.0。

通过 Weex2.0 的跨平台渲染能力,我们在 iOS 和 Android 上保持了极高的一致性。三方场景的特殊性会导致卡片本身的技术容错率很低,所以,从性能和复杂度角度出发的角度考虑,我们也收敛了整体 CSS 样式的支持度。整体样式能力的规范的整体设计很大程度上兼容 W3C 标准,实现了一部分子集,在子集范围内的功能都和标准一致。

此外,小部件的运行安全也是非常重要的,为此我们引入了沙箱机制。通过沙箱机制我们得以保证不同的小部件环境之间是互相隔离并不互相影响的,通过底层技术的复用,我们也合并了多个 JavaScript 虚拟机的创建,保证性能和效率能够最大化。

三 核心技术设施

接下来展开讲讲我们的核心技术设施,这里包括脚本引擎、渲染引擎还有图形引擎。

1 脚本引擎

小部件的技术产物是 JavaScript 源文件,小部件中我们使用了 QuickJS 虚拟机作为脚本执行引擎。基于 QuickJS,我们可以获取一个轻量并且高效的 JavaScript 执行环境。相较于庞大的 V8 引擎,QuickJS 虚拟机的启动性能和包大小收益都远远超出我们的预期。

在卡片场景下,脚本引擎的快速启动是一个非常重要并且迫切的任务,所以基于 QuickJS 虚拟机,我们做了大量的定制和优化工作。

在虚拟机层面的优化工作有助于我们使用新的技术特性来加速,基于「ByteCode」机制,我们已经考虑在小部件构建的时候把 JavaScript 源码预编译为二进制来加速整体的渲染。此外,我们也在推进标准字节码的设计工作,通过字节码的优化,可以获取加载速度与代码体积的双重优化。

同样,在面向脚本引擎的接口这层,我们统一对接了集团标准「JSI」。通过 JSI 的帮助,我们可以实现不同 JavaScript 引擎之间的切换,并且可以帮助我们在异构容器下实现同构的标准编程。

2 渲染引擎

渲染引擎是小部件的核心, 我们使用了淘宝自研的渲染引擎「Weex2.0」,Weex2.0 的前身是 Weex1.0,相对于1.0 的 系统 UI 渲染,2.0 上我们全面切换到了跨平台 C++ 自绘方案。通过 C++ 的跨平台开发,我们在原生层面使用 C++ 实现了组件化、MVVM、声明式模板、响应式更新等复杂功能,也顺便抹平了 iOS 和 Android 上平台相关的组件差异。

接口注册层面,我们通过 JS Binding 直接把原生渲染接口注册绑定到 JavaScript 环境中,几乎没有序列化成本。C++ 框架下沉以后,可以更加细粒度的实现节点更新和回收复用。

渲染管线上,我们借鉴了 Flutter Engine 的线程模型及布局算法,最后会被提交到 Skia 本身的渲染流程上。这部分工作的复用有助于我们快速实现落地,此外由于我们的渲染管线是面向 Web 的技术特点设计,没有 Flutter FrameWork 中的 Dart Widget 概念,更加贴合前端的技术栈。

3 图形引擎

Canvas 是 Web 生态中非常重要的组件,适用于富交互并且注重互动体验的业务场景,譬如游戏互动、3D渲染、图表绘制、AR渲染等图形场景。

Canvas 能力在小部件中是一个独立的组件,得益于 Weex2.0 的 Platform View 机制,我们在自绘的引擎中实现了同层渲染 Canvas 能力。Canvas 本质是一个 W3C 图形渲染标准,面对这套标准淘宝同样自研了一套图形引擎实现「FCanvas」,FCanvas 支持 WebGL 和 Canvas2D 两套标准,跨容器且高性能的 FCanvas 的图形渲染能力我们对小部件也一并开放。同样,Canvas2D 下和 Weex2.0 同样直接对接了 Skia 图形库。

通过小程序标准的对齐和底层 SDK 的改造,我们完全兼容并支持了小程序中的游戏引擎生态。也就意味着,游戏的开发者可以直接通过我们支持的游戏引擎 IDE 自助生成小部件工程,卡片级别的互动游戏非常适合前置在业务场景中做投放。

四 业务场景接入

小部件是卡片,那嵌入卡片的「场」自然很重要。

在淘宝内,目前有多个业务场景支持了小部件的投放,这里面包括店铺、会员、直播、订阅等等。因为场景业务的特殊性,目前多个场景的渲染方案不尽相同,这里面涉及了 DX 渲染、H5 渲染、Weex 渲染、小程序渲染等多套技术方案。

面对纷杂的渲染环境,这里面没有捷径。我们也思考过在不同的场景下使用对应的场景渲染方案的优劣,这样会带来两个问题。

  • 我们判断不同的渲染方案对接到一套 DSL 上的技术可行性较低,相对而言这样会破坏小部件的技术一致性,消费者的前台体验也无法得到保证。

  • 此外多场景的技术维护性成本会持续增长,开放业务的特殊性决定了三方开发者的忍受阈值相对很低,会引入大量额外排查成本。

由此,在不同的渲染方案下,我们都分别封装了对应的组件,通过组件的调用,再实现小部件的嵌入。这种方式前期成本相对而言较高,但对于跨场景一致性会得到保证,开发者也可以避免关心场景的渲染,只需要专注于完成自身业务逻辑的开发即可。

五 技术演进路线

主要围绕三个关键词,性能、场景、效率来展开。

1 优化性能体验

卡片场景对加载性能和运行性能会非常敏感,所以我们会持续优化技术性能,针对卡片场景进一步优化内存占用并提升整体运行性能,充分释放商家的创意和提升开发者的灵活度。

  • 降低图形内存占用,通过 FCanvas 的资源整合和管线优化来降低内存占用,此外我们会面向开发者提供最佳实践的手段来帮助开发者合理使用。

  • 提升首屏加载速度,脚本引擎的性能优化会涉及两部分工作,一部分是预编译能力的支持,一部分是运行时「JIT」能力支持;还有的就是渲染引擎的进一步瘦身,运行时优化加载任务队列,支持低优先级和不必要的资源懒加载。

  • 引入小程序插件能力,目前小程序的插件生态还是亟需支持,我们在考虑通过 API 的方式支撑插件生态的接入,可以帮助开发者直接使用会员、任务、人群等插件能力。

2 覆盖更多场景

小部件会继续拓展接入更多场景,尤其是商品详情页这种高频高转化的场景,也会逐步开放公域部分场景。

  • 对商家来说,可以满足商家自身多元化的经营诉求,并有机会从公域收获额外的流量,提升品牌经营的水位线。

  • 对于场景来说,可以积极拥抱三方开放生态,通过小部件的通投能力,形成商业要素的结构化沉淀和利用。

  • 对于开发者来说,可以帮助开发者在多赛道持续收获商业收益,实现自身效益和效率最大化。

3 提升流通效率

在目前电商场流量逐步稳定的情况下,我们需要更好地帮助商家管理好营销预算和收益,提升卡片本身的流转效率至关重要,这样能帮助商家提升整体的投入产出比。 帮助开发者降低研发成本并帮助商家提升效益,进一步提升卡片流通效率。使得卡片在不同场景的分发和流转提升效率并建立相应的配套设施,最大化一个卡片的商业价值。

本文由哈喽比特于3年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/08c-TYcc859KDGJdr2EAHQ

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237231次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8065次阅读
 目录