IT之家 3 月 5 日消息,Lynx 团队今日宣布开源跨平台 UI 框架 Lynx,这是一套帮助 Web 开发者复用现有经验,通过一份代码同时构建移动端原生界面与 Web 端界面的技术方案。
Lynx 专为多样化、富交互的场景打造,已用于 TikTok 等应用中。官方介绍称:“它有着高性能、多功能的渲染引擎、性能优先的双线程 UI 编程范式、以及基于 Rust 的现代工具链等诸多特性。”
具体来看,Lynx 拥抱了开发者熟悉的 Web 开发范式,使开发者能够像在 Web 上一样继续使用标记语言和 CSS。Lynx 原生支持了 CSS 动画和过渡、CSS 选择器和变量用于主题化定制,以及渐变、裁剪和遮罩这样的现代 CSS 视效能力。
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之家所有文章均包含本声明。