Lynx: ByteDance’s UI Framework Goes Open Source

Pandaily
03-05

Lynx, a cross-platform UI framework developed by ByteDance, was made open-source by its development team on March 5. The framework aims to help web developers leverage their existing skills to build native interfaces for both mobile and web platforms simultaneously. Already deployed in applications like TikTok, the framework boasts high-performance capabilities, a multi-functional rendering engine, and a modern Rust-based toolchain.

The framework embraces familiar web development paradigms, supporting CSS animations, selectors, and variables to ensure flexible and modern interface customization. Its most distinctive architectural decision involves splitting user scripts across two independent runtimes:

  1. A main thread runtime driven by the PrimJS engine, handling high-priority events
  2. A background runtime ensuring low-load and non-blocking main thread operations

SEE ALSO: ByteDance Unveils Trae AI IDE for Chinese Developers

Lynx has two performance highlights:

  1. Instant First-Frame Rendering (IFR): By briefly blocking the main thread, Lynx ensures the first frame is completely rendered, providing an immediate response user experience.
  2. Main Thread Script (MTS): A static-scheduled code segment handling high-priority events and gestures, enabling native-like interaction feel.

Originally developed by ByteDance’s engineering team, Lynx has received significant support from TikTok. The platform has backed the framework’s open-source release, providing financial, technical, and community support.

The framework is particularly suited for diverse, rich-interaction scenarios, offering web developers a powerful tool to create cross-platform interfaces with a single codebase.

免責聲明:投資有風險,本文並非投資建議,以上內容不應被視為任何金融產品的購買或出售要約、建議或邀請,作者或其他用戶的任何相關討論、評論或帖子也不應被視為此類內容。本文僅供一般參考,不考慮您的個人投資目標、財務狀況或需求。TTM對信息的準確性和完整性不承擔任何責任或保證,投資者應自行研究並在投資前尋求專業建議。

熱議股票

  1. 1
     
     
     
     
  2. 2
     
     
     
     
  3. 3
     
     
     
     
  4. 4
     
     
     
     
  5. 5
     
     
     
     
  6. 6
     
     
     
     
  7. 7
     
     
     
     
  8. 8
     
     
     
     
  9. 9
     
     
     
     
  10. 10