Home / Technology / Cross-Platform UI Framework Lynx Competes With React Native

Cross-Platform UI Framework Lynx Competes With React Native

lynx

LynxJS, a new family of technologies from ByteDance, enables developers to create native user interfaces (UIs) using a single code base for cross-platform apps — including the web, Android and iOS. It launched March 5 and is already drawing positive reviews and comparisons to React Native.

Xuan Huang, a software architect at ByteDance and responsible for the Lynx architecture, announced Lynx in blog post. He is known in the React community for his work with React and React Native, since he was the founding engineer and tech lead of the Meta React Forget compiler project on the React Core team. He also worked on optimizing the Hermes JS VM, the default engine for React Native.

“We believe that native primitives and responsiveness aren’t just nice-to-haves: Native is a necessity,” Huang wrote on behalf of the Lynx team. ”We believe that by enabling developers to build once and reach more platforms, we can deliver joys for more users, faster.”

TikTok ‘Increasingly Bet on’ Lynx

LynxJS was developed by an engineering team at ByteDance, which owns TikTok, so scalability for large apps is a key selling point.

It’s used to create “vibrant and engaging UIs for large-scale apps like TikTok,” and features a speedy rendering engine, dual-threaded UI programming and modern Rust-based tooling, the post noted. Dual-threaded UI programming splits and manages UI operations across two separate threads to improve responsiveness and performance — more about that later.

TikTok has increasingly bet on Lynx, the post added.

“Today, Lynx powers an extremely wide spectrum of surfaces — from the lightweight, high-frequency Search panel to full-fledged TikTok Studio app; from complex e-commerce storefronts like Shop that demand reliability and trust, to highly engaging experiences like LIVE, as well as powering high-profile events and cultural moments such as Disney100 on TikTok and The Met Gala on TikTok,” Huang wrote.

Lynx is also agnostic to hosting platforms and rendering backends, according to Huang’s post. That means Lynx could be used on platforms such as the desktop, TV or IoT devices, he added.

Lynx Goes Open Source

Also in the release announcement, Huang revealed Lynx would be open sourced under the Apache 2.0 license. Included in that release were:

  • Lynx
  • Rspeedy, an Rspack-based build tool for Lynx
  • Lynx Devtool for debugging
  • Lynx for Web, for running on the web platform
  • PrimJS, a custom JavaScript engine optimized for Lynx
  • ReactLynx

While ReactLynx is “Lynx’s initial frontend framework flavor,” the team was quick to note that Lynx is agnostic when it comes to JavaScript frameworks.

“In fact, other frameworks already represent roughly half of Lynx’s overall usage, demonstrating its neutrality in hosting different flavors,” Huang wrote.

That said, not everything in the Lynx family of tools is open sourced at this time. Some UI components, advanced built-in graphic capabilities, custom rendering and other frameworks are yet to come, the post noted.

The React Native Killer?

Lynx already has been referred to as a React Native killer by at least one reviewer, which, really, was inevitable. React Native, of course, is the popular open source framework that lets developers build mobile applications for iOS and Android using JavaScript and React.

JavaScript influencer Theo Browne, who goes by t3.gg on socials, created a deep dive into Lynx, starting with the question do developers even need an alternative to React Native. He outlined in some detail why, he believes, developers do need an alternative — and called Lynx the “strongest competition for React Native” that he’s seen.

Browne noted the framework lets developers use CSS, even though it’s native. He also praised its debugging abilities, which he said was a key reason to dislike React Native.

“This feels like a minimal method to replicate the wins possible in React Native, but stripped down to be just those bare metal essentials,” Browne said. “This is, without question, the strongest competition I’ve ever seen for React Native, and I think it’s worth paying some attention to if you’re interested in mobile dev and best in class developer experience building high quality mobile apps.”

Dual Runtimes

One of the big differences between React Native and Lynx that Browne and other reviewers called out is Lynx’s approach to runtime. Huang called this Lynx’s “most notable architectural decisions.”

YouTube JavaScript Influencer Theo Browne demonstrates the two threads in Lynx: The UI thread and the framework thread.

JavaScript Influencer Theo Browne demonstrates what he called the two threads used by Lynx: The UI thread and the framework thread.

It statically-enforces division of user scripting into two distinct runtimes, he explained: a main-thread runtime, powered by its custom JavaScript engine, PrimJS and dedicated to “privileged, synchronous UI tasks like initial launch and high-priority event handling,” and a background runtime as the default for user code, ensuring the main thread remains low workload and non-blocking.

Huang explained that this enables two “killer” features:

  • Instant First-Frame Rendering: “Backed by usability research, if rendering is fast enough — and Lynx is — no special intermediate feedback is needed,” Huang explained. “By briefly blocking the main thread until the first frame is fully rendered, Lynx eliminates blank screens, creating a perceived instant experience.”
  • Main-Thread Scripting: “A small, statically scheduled piece of code, privileged to run on the main thread, handles high-priority events and gestures — making it ideal for implementing silky-smooth, highly responsive interfaces that feels native,” Huang wrote.

Full-stack developer, Android developer and competitive coder Priyadarshan Ghosh provided an installation guide to LynxJS, as well as his opinion on the new offering.

“Unlike other cross-platform frameworks that rely heavily on web views, LynxJS uses a custom renderer to ensure pixel-perfect consistency and native performance,” he wrote. “Its multithreaded engine ensures instant app launches and smooth UI responsiveness, even when embedded in larger applications.”

Ghosh also goes into some detail about how the dual-threaded model works, noting that the native rendering and animations in the UI thread are handled using Rust, thus ensuring 60 frames per second performance.

Internally, developers have seen surfaces migrating from Web to Lynx “often achieve a 2–4× reduction in launch times across the board,” Huang wrote. “Our in-house benchmarks also show that Lynx consistently launches faster on Android while remaining competitive with similar technologies on iOS.”

The post Cross-Platform UI Framework Lynx Competes With React Native appeared first on The New Stack.