Did ByteDance Just Create a React Native Killer?
ByteDance has been making headlines for developing AI models and taking on a carefully crafted image of a developer-focused platform. In line with this, the parent company of TikTok has now introduced an open-source Rust-based JavaScript framework called Lynx. Lynx helps build cross-platform mobile and web applications. ByteDance seems to have been using Lynx internally for apps like TikTok and has now open-sourced it. The internet is abuzz with discussions on Lynx, which is seen as an alternative to Meta’s React Native, its potential, and how it tries to overcome the problems of the existing frameworks. So, What is Lynx? Xuan Huang, the architect of Lynx, calls it a family of technologies that empower developers to use their existing web skills to create native UIs for mobile and web from a single codebase. The core engine of the Lynx framework is framework-agnostic, as well as agnostic to host platforms and rendering backends. In an official blog post, he explained that Lynx is designed for diverse use cases and rich interactivity, which enables it to provide engaging UIs for large-scale apps like TikTok. Huang mentioned that Lynx powers TikTok Studio, e-commerce storefronts like Shop, and high-profile events such as Disney100 and The Met Gala on TikTok. In a nutshell, TikTok has extensively used it. What Does Lynx Aim to Solve? Lynx aims to provide a platform for developers to ship their apps with a great native experience while eliminating lag. “A blank screen, a 0.1s lag in a “like” animation, or an unfamiliar UI pattern can make an interface feel “cheap” or untrustworthy. We believe that native primitives and responsiveness aren’t just nice-to-haves—native is a necessity,” Huang wrote. He emphasises that even with the growing app economy, developers still face challenges in delivering experiences at scale and velocity. Lynx tries to solve this by enabling developers to build once and reach more platforms. A notable architectural decision of Lynx is its statically enforced division of user scripting into two distinct runtimes: a main-thread runtime, powered by PrimJS, a custom JavaScript engine optimised for Lynx, and a background runtime for user code as the default. This enables it to render frames fast and have responsive interfaces. Is It a Better Alternative to React Native? Experts seem to be impressed by Lynx. Rajesh Sahoo, senior software engineer at Tikkl, told AIM, “Lynx is still in its early days, whereas React Native is currently more stable and boasts a massive community. However, React Native has some limitations, such as relying heavily on community-maintained libraries for native functionality on Android and iOS.” He added that Lynx could be a game-changer for its easier access to native functionality and claims about its performance optimisation. “At the end of the day, I don’t care whether it’s Lynx, React Native, or another platform. I just hope whoever can tackle these issues, does it in a way that makes my life as a developer easier. I’ll be happy to use whatever platform gets me there,” Sahoo expressed. Theo Browne, YouTuber and founder of T3 Chat, elaborated on the problem with React Native on his YouTube channel. He explained that the way React Native works is not the most efficient, and a user may experience a stutter with the UI updates in an app. While React Native has tried to improve over the years, Lynx has introduced a fundamentally different approach with two threads—the UI thread, and the framework thread. This enables heavy data processing while updating at 60 FPS with no lag. “I see so much potential in what they’ve built here,” Browne added. Zack Jackson, infrastructure architect at ByteDance, highlighted the difference on X: “Lynx: Emphasises a multithreaded engine designed to achieve “instant launch and silky UI responsiveness. React Native: Relies on a single-threaded JavaScript bridge to communicate between JavaScript and native code, which can become a bottleneck for performance-intensive apps.” He added, “While React Native has made strides with its new architecture (e.g., Fabric renderer), it doesn’t inherently emphasise multithreading in the same way Lynx does.” A thread on React Native’s Subreddit highlights reactions from developers. One user said, “So it’s using react renderer but it renders to different base UI than React Native. An alternative renderer essentially, with common bits being react but more importantly allowing you to use something other than react to make native apps (sic).” The developer added, “Competition and innovation is cool!”. Another developer wrote, “This seems to finally answer the “write once, run everywhere, react based & dom rendering native platform”. While the general sentiment seems positive, considering it powers an app like TikTok, it is still in the early days for the framework to overshadow React Native. However, a developer wrote on X, “‘I’m excited for Lynx and I think React really needs a kick in the pants.”
TikTok’s parent, ByteDance, transitions to the developer side of things.
TikTok’s parent, ByteDance, transitions to the developer side of things.
["ByteDance", "react-native"]
["ByteDance", "Rust", "programming_languages:R", "AI", "innovation", "Aim", "ViT", "react-native", "JavaScript", "R", "Java", "programming_languages:JavaScript"]
["AI", "Aim", "R", "JavaScript", "Rust", "Java", "ViT", "innovation", "programming_languages:R", "programming_languages:JavaScript"]
I am a tech aficionado and a computer science graduate with a keen interest in AI, Coding, Open Source, and Cloud. Have a tip? Reach out to ankush.das@aimmediahouse.com