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

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

823063339e0e3a6a6c1fa5c6e9b03467.png

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

db41f55835c65b47f420664551ea1509.jpeg

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

4d6b3d13079173cb3ff44e34f53c2c67.png

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 的开源发布,在资金、技术优化、社区推广和生态建设等方面提供支持。

开源地址如下:

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

觉得本文对你有帮助?请分享给更多人
关注「React中文社区」加星标,每天进步
“在看和转发”就是最大的支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值