字节跳动团队跨平台UI框架Lynx开源,已用于TikTok等

砍柴网  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

3月5日消息,Lynx团队今日宣布开源跨平台UI框架Lynx,这是一套帮助Web开发者复用现有经验,通过一份代码同时构建移动端原生界面与Web端界面的技术方案。

字节跳动团队跨平台UI框架Lynx开源,已用于TikTok等

Lynx专为多样化、富交互的场景打造,已用于TikTok等应用中。官方介绍称:“它有着高性能、多功能的渲染引擎、性能优先的双线程UI编程范式、以及基于Rust的现代工具链等诸多特性。”

字节跳动团队跨平台UI框架Lynx开源,已用于TikTok等

具体来看,Lynx拥抱了开发者熟悉的Web开发范式,使开发者能够像在Web上一样继续使用标记语言和 CSS。Lynx 原生支持了CSS动画和过渡、CSS选择器和变量用于主题化定制,以及渐变、裁剪和遮罩这样的现代CSS视效能力。

字节跳动团队跨平台UI框架Lynx开源,已用于TikTok等

Lynx最具代表性的架构决策之一是静态强制划分用户脚本的运行环境,将用户脚本拆分跑在了两个独立的运行时上:

一个主线程运行时,它由PrimJS这个专为Lynx优化的JavaScript引擎驱动,有着独享的同步 UI 操作权限,用于处理初始启动和高优事件处理等任务;

另一个则是后台运行时,作为用户代码的默认执行环境,以确保主线程的低负载和非阻塞。

这一架构带来了Lynx的两大“杀手锏”:

首帧直出(Instant First-Frame Rendering,IFR):用研表明:如果渲染足够快(而Lynx正是如此),那么在界面过渡时就无需多余的反馈。Lynx通过短暂阻塞主线程,确保首帧一次性完整呈现,因为用户不会看到空白,可以给用户带来一种即刻响应的感知体验。

主线程脚本(Main Thread Script,MTS):它是一小段静态调度的代码,被授予在主线程运行的权力,用于处理高优的事件和手势行为,非常适合那些要求极致跟手、快速响应的场景,以实现原生交互触感。

在内部实践中,Lynx团队宣称观察到许多从Web迁移到Lynx的界面,普遍能缩短2–4 倍的启动时间。内部性能测试同时表明,相比同类技术,“Lynx在iOS上不相上下,在安卓上则持续领先”。

Lynx最初由字节跳动的工程团队开发,并将由该团队继续推进其演进。作为在一系列应用中广泛使用 Lynx 的重要用户,TikTok认可Lynx的创新与潜力,促进Lynx的开源发布,在资金、技术优化、社区推广和生态建设等方面提供支持。

IT之家附开源地址如下:

https://lynxjs.org/zh/index.html

【来源: IT之家

随意打赏

提交建议
微信扫一扫,分享给好友吧。