字节跳动团队跨平台 UI 框架 Lynx 开源,已用于
Lynx 团队今日宣布Lynx 专为多样化、富交互的场景打造,具体来看,Lynx 最具代表性的架构决策之一是静态强制划分用户脚本的运行环境,
一个主线程运行时,它由 PrimJS 这个专为 Lynx 优化的 JavaScript 引擎驱动,有着独享的同步 UI 操作权限,用于处理初始启动和高优事件处理等任务;
另一个则是后台运行时,作为用户代码的默认执行环境,以确保主线程的低负载和非阻塞。
这一架构带来了 Lynx 的两大“[*]手锏”:
首帧直出:用研表明:如果渲染足够快,那么在界面过渡时就无需多余的反馈。Lynx 通过短暂阻塞主线程,确保首帧一次性完整呈现,因为用户不会看到空白,可以给用户带来一种即刻响应的感知体验。 主线程脚本:它是一小段静态调度的代码,被授予在主线程运行的权力,用于处理高优的事件和手势行为,非常适合那些要求极致跟手、快速响应的场景,以实现原生交互触感。
在内部实践中,Lynx 团队宣称观察到许多从 Web 迁移到 Lynx 的界面,附开源地址如下: