Link 林沛儒製作

全新框架 Lynx:React Native 的挑戰者

·科技

字節跳動推出了一個全新的跨平台開發框架 Lynx,引發了廣泛關注。這個開源專案以 Rust 為基礎,主打高效能與多執行緒 UI 引擎,目標是提供比 React Native 與 Flutter 更順暢的體驗。

Lynx 的定位並不是單純的實驗性專案,它已經在 TikTok 的搜尋面板、TikTok Studio 以及其他應用中使用。這點尤其引人注目,因為字節跳動早期是 Flutter 的支持者,甚至仍在 Flutter 的展示案例中。如今他們選擇自行開發新框架,說明對效能有更高要求。

React Native 長久以來的問題在於單執行緒的 JavaScript Bridge,這會造成效能瓶頸。雖然 React Native 團隊透過 Hermes 引擎與 Fabric Renderer 嘗試改善,但 Lynx 採取了不同的方式。它將使用者程式碼與框架程式碼分開在兩個執行緒中運行,主執行緒使用基於 QuickJS 的 PrimJS 負責即時 UI 任務,避免使用者程式碼拖慢界面更新,達到「即時呈現第一幀」的效果。

在開發者體驗上,Lynx 支援原生 CSS 特性,如動畫、變數與漸層,對網頁開發者相當直覺。此外,它並不綁定於 React,可以搭配 Vue、Svelte 等框架使用,靈活度極高。

實際體驗方面,Lynx 使用基於 Rust 的 RS Pack 進行模組打包,速度比 Vite 還快。專案結構與 React 專案類似,介面以 HTML 與 CSS 標記表示,但會映射到對應平台的原生元素。開發者甚至可以直接使用 Tailwind 來套用樣式,這點與 React Native 有明顯差異。

不過 Lynx 也面臨挑戰,目前缺乏完整的生態系,沒有像 Expo 那樣的一站式工具,也缺乏 Flutter 的大型元件庫。開發過程在 Windows 上有些不穩定,MacOS 的表現則相對流暢。

總體來看,Lynx 展現了強大潛力。它或許還不足以立刻取代 React Native 或 Flutter,但對追求效能與開發體驗的工程師而言,這是一個值得關注的選項。隨著社群與工具的逐步成熟,它可能真的成為下一個跨平台開發的重要里程碑。

延伸閱讀