写点什么

TikTok 原生跨平台 UI 框架 Lynx 宣布开源

  • 2025-04-05
    北京
  • 本文字数:1346 字

    阅读完需:约 4 分钟

TikTok 原生跨平台 UI 框架 Lynx 宣布开源

字节跳动宣布开源 Lynx 框架,这是一套支持使用 Web 标记语言、CSS 和 JavaScript 创建原生跨平台移动应用的开发工具集合。该框架通过自主研发的 JavaScript 引擎和像素级精准的 UI 渲染能力,实现原生级别的性能表现。


Lynx 架构师 Xuan Huang 解释称,Lynx 受 Chromium、Flutter 和 React Native 启发,意在通过应对日益复杂的设备形态差异和多平台支持需求,实现规模化且更高效的原生级体验。这些需求导致了“反复重建功能相同的模块,从而造成资源浪费、团队协作割裂,以及产品上市时间的延误”。


Lynx 框架延续了相似的设计理念——“专为应用开发定制的替代性 Web 方案”。该框架在继承 Web 技术优势的同时,采取了强约束策略:既支持类 Web API 接口,又通过施加特定限制与扩展来实现明确的设计意图。


为实现这一目标,Lynx 采用标记语言与 CSS 语法,让 Web 开发者得以进行移动应用开发。框架原生支持 CSS 动画与过渡效果、CSS 选择器与主题变量配置,以及渐变、遮罩、裁剪等现代 CSS 视觉效果。


在架构层面,Lynx 突破了传统 Web 单线程模型的限制,通过静态强制实施的双线程架构模型进行革新:主线程专用于处理高优先级的同步非阻塞任务,后台线程则负责执行用户代码。据 Huang 介绍,这种架构设计使得 Lynx 能够近乎即时地渲染应用的首帧界面,大幅优化"首帧渲染时间(TTFF)"指标,同时也通过在主线程高效处理高优先级事件与手势操作,确保界面交互的高响应度。


Lynx 框架由多个组件构成,其中包括:Lynx 核心引擎;基于 React 的声明式 UI 前端框架 ReactLynx;采用 Rust 语言构建的、基于 webpack 兼容的 Rspack 开发的高性能打包工具 Rspeedy;优化版 JavaScript 引擎 PrimJS;以及基于 Electron 的调试工具 Lynx DevTool。该框架还提供了 Web 前端适配层,支持在浏览器环境中运行 Lynx 应用。


在 Syntax FM 的技术播客中,字节跳动工程师 Zack Jackson 将 Lynx 定位为公司内部的 React 替代方案,这套框架驱动着其他所有应用程序的 UI 层,以确保跨团队技术架构的统一性。不过 Huang 在官方声明中特别强调,Lynx 并不局限于 React 技术栈,未来还会逐步开源其他前端方案。


目前该框架已应用于 TikTok 应用内的搜索框,以及专为创作者打造的内容生产和管理工具 TikTok Studio 等多个业务场景。


Hacker News 上自称就职于字节的用户 suzakus 透露,iOS 与安卓客户端中最重要的跨平台功能模块采用 C++ 编写以实现跨平台的可移植性,而其他包括大部分的 UI 组件仍使用 Kotlin 或 Swift 开发。这一技术现状虽看似与应用中 Lynx 框架的普及程度存在反差,但却是与 Huang 此前描述的渐进式演进路线相吻合。


此外,Huang 也在 Hacker News 的评论区回应了为何字节选择与现存最古老的命令行网页浏览器 重名:


Lynx 项目最初命名时并未考虑长远影响。鉴于已有大量代码库和用户依赖现有名称,我们决定保持原名,不因项目的开源而更名。


最后,Huang 强调说,字节跳动将持续推进 Lynx 框架的开源进程,未来将陆续公开更多 UI 组件、定制化渲染引擎及其他前端框架。该框架还将突破移动端限制,逐步扩展至桌面端、电视以及 IoT 设备等更多平台。


查看英文原文

TikTok’s Native Cross-Platform UI Framework Lynx Goes Open Source(https://www.infoq.com/news/2025/03/tiktok-lynx-cross-platform-apps/)

2025-04-05 10:008699

评论

发布
暂无评论

等保测评机构推荐证书有效期是多久?到期后怎么办?

行云管家

网络安全 等级保护 等保测评 等保评测

2021牛转乾坤:新花样玩转Android组件化架构实践,15K-50K的详细Android学习指南

android 程序员 移动开发

分布式服务下,消息中间件改造

kafka 架构 RocketMQ RabbitMQ 中间件

Activity的生命周期,这可能是目前最全的

android 程序员 移动开发

ajax分析 学习,kotlin构造器

android 程序员 移动开发

2020移动互联网寒冬(Android)求职随感,移动端开发框架

android 程序员 移动开发

2020这一年的Android面经汇总(百度、腾讯、滴滴,查漏补缺

android 程序员 移动开发

Activity的任务栈Task以及启动模式与Intent的Flag详解(经典博文,值得收藏

android 程序员 移动开发

知识中台与区块链助力多源可信数据价值释放

CECBC

【云计算】什么是私有云?可提供哪些服务?缺点是什么?

行云管家

云计算 公有云 私有云

大牛手撕阿里Spring框架:AOP、IOC、注解、事务,带你统统搞定

Java spring 框架 spring aop spring ioc

2020荒诞的一年,35岁程序员现状:我现在房贷车贷家庭,学习Android开发的步骤,

android 程序员 移动开发

2020跳槽过后“带薪划水”偷刷阿里老哥的面经宝典,移动客户端开发框架

android 程序员 移动开发

最全Hadoop HDFS解析(一)

大数据技术指南

11月日更

2021年尾 Android 面试之必问高级知识点(包含答案),kotlin语法大全

android 程序员 移动开发

1.1 黑客与社会工程学

sec01张云龙

11月日更

面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?

Java spring 程序员 架构

2021 Android 大厂面试(五)插件化,androidframework开发书籍

android 程序员 移动开发

A010-menu资源,看完老板哭着让我留下来

android 程序员 移动开发

2020请收好这一份全面-&-详细的Android学习指南,androidstudio播放音频

android 程序员 移动开发

2020阿里巴巴,字节跳动,京东,android驱动开发环境搭建

android 程序员 移动开发

2021Android面经,历时一个半月,斩获3个大厂offer,阿里P8大佬整理

android 程序员 移动开发

2021新鲜面经,蚂蚁内部转岗Android面试分享,深夜思考

android 程序员 移动开发

GitLab和Rainbond整合实现一体化开发环境

北京好雨科技有限公司

DevOps gitlab #GitLab gitlab hook rainbond

2021疫情下Android技术人的宅家学习进阶指南!花了大价钱大厂内部买来的学习资料,爱看不看

android 程序员 移动开发

Activity-的-36-大难点,你会几个?,android游戏开发实践指南

android 程序员 移动开发

ajax分析 学习(1),android0基础

android 程序员 移动开发

巧用 Redis 数据结构实现亿级数据聚合统计

码哥字节

redis 数据统计 NoSQL 数据库 11月日更

Flink 的运行架构详细剖析

五分钟学大数据

flink 11月日更

2020面试题合集之吊打面试官系列(一),kotlin数组性能

android 程序员 移动开发

2021京东 Android 岗 Java 面试真题解析,android平台架构的四个层次

android 程序员 移动开发

TikTok 原生跨平台 UI 框架 Lynx 宣布开源_架构_Sergio De Simone_InfoQ精选文章