Platform
Solution
Customers
Request demoLoginSign Up
Blog
ENGINEERING

Why ByteDance Built Lynx? Because React Native Left a Gap

Mike Miller

April 01, 2025

Why Bytedance Built Lynx Header

React Native wasn’t enough. Lynx is ByteDance’s answer — and it might be a glimpse of what’s next for mobile development.


Key Takeaways

  • ByteDance built Lynx to address performance and flexibility gaps they saw in React Native — not to compete with Flutter.
  • Lynx offers native rendering, background-threaded APIs, and support for multiple JavaScript frameworks, making it especially appealing to web developers.
  • While promising, Lynx is still early. Its long-term success depends on ecosystem growth and broader community adoption.

1. Why ByteDance Chose to Build, Not Adopt

Summary: ByteDance built Lynx because existing frameworks like React Native didn’t meet their needs — technically or strategically.

If React Native had delivered everything teams needed, ByteDance wouldn’t have built Lynx.

That’s where this starts. ByteDance — the company behind TikTok and dozens of other apps — released its own JavaScript-to-native mobile framework. Not because there weren’t options. React Native and Flutter have been around for years. But neither gave them what they were looking for: the performance of native, the flexibility of the web, and the freedom to choose their own direction.

Lynx wasn’t built to enter the framework wars. It was built to solve a specific set of problems ByteDance saw in their own stack. And that decision says a lot about where cross-platform development is today — and where it’s still falling short.

Looking for a full comparison? Check out our breakdown of Lynx vs React Native vs Flutter in 2025.


2. The Technical Gaps Lynx Is Designed to Fill

Summary: Lynx improves on performance, developer experience, and flexibility with native rendering, background-threaded APIs, and real CSS support.

Lynx is a JavaScript-to-native framework, but the details matter. It’s designed for performance from the ground up. First render times are near-instant. Expensive work is pushed to background threads. It’s built to feel smooth, even before you start optimizing.

But what makes it stand out is how it fits into existing web development workflows. It doesn’t require React. You can use Svelte, Vue, Angular — whatever makes sense for your team. And you can write real CSS, the same way you would on the web. No styled-components or custom abstractions.

That blend — performance like a native app, with tooling and patterns from the web — is what makes Lynx interesting. It doesn’t ask developers to choose between speed and familiarity.


3. React Native Developers Are the Real Target

Summary: Lynx is best suited for teams already working with React Native or other web frameworks — not Flutter developers.

Lynx often gets mentioned alongside Flutter, but they’re solving different problems.

Flutter has its own rendering engine. It uses Dart. Everything is drawn from scratch — every button, every animation, every pixel. That gives you consistency, but it’s not native in the traditional sense. And if you’re coming from the web, Flutter can feel like learning a new platform entirely.

Lynx is closer to React Native. It renders native components and runs on JavaScript. It fits more naturally into web-centric teams. And if you’re already using React Native, moving to Lynx might not be trivial — but it wouldn’t require rewriting everything from scratch, either.

Flutter tends to make more sense for developers with native or mobile backgrounds. Lynx feels like it was built for the web-first world.


4. Owning the Framework Means Owning the Future

Summary: By building Lynx in-house, ByteDance gains full control over its mobile stack and long-term roadmap.

React Native is open source, but it’s still driven by Facebook. For a company like ByteDance, that’s a dependency — and maybe an uncomfortable one. Building Lynx wasn’t just about making something faster or more flexible. It was about taking control of a critical part of their stack.

Owning the framework means setting the priorities. Making changes when they’re needed. Building for your own roadmap, not someone else’s. In the long run, that kind of control can be more valuable than any individual technical feature.

It’s not just a framework — it’s infrastructure.


5. Lynx Has a Solid Core — But It’s Not Ready for Everyone

Summary: The fundamentals are strong, but the surrounding ecosystem is still immature and may slow adoption for now.

Lynx has a lot going for it — but it’s still early.

The fundamentals are solid, but the ecosystem around it — the libraries, tools, community support — will take time to grow. That matters. A good framework isn’t just about architecture. It’s about whether people want to build with it.

Right now, there are tradeoffs. You might need to write more code by hand. AI coding tools like Cursor or GitHub Copilot won’t recognize the APIs yet. Docs will be thinner. You’ll spend more time figuring things out. That’s the cost of being early.

But that’s the tradeoff with anything new. If adoption grows, and the ecosystem catches up, Lynx could be a strong choice — especially for teams that want native performance without leaving behind the web development patterns they know.

It’s not a polished, ready-made replacement just yet. But it’s on a path that makes sense.


6. What Lynx Tells Us About the State of Mobile Development

Summary: Lynx reflects a broader shift: teams want more from their tools, and they’re willing to build their own when existing options fall short.

Lynx isn’t just a new option. It’s a signal.

It shows us that for some teams — even the ones with all the resources in the world — the existing tools weren’t enough. React Native had limitations. Flutter didn’t fit the workflow. So ByteDance built something else.

That doesn’t mean Lynx will take over. But it raises the bar. It challenges assumptions. And it opens the door for better ways of thinking about performance, flexibility, and ownership in mobile development.

Whether or not it wins, it moves the conversation forward. And that’s always worth paying attention to.


FAQ: Lynx vs React Native vs Flutter

What is Lynx?

Lynx is a JavaScript-to-native mobile framework created by ByteDance. It allows developers to build native mobile apps using modern JavaScript frameworks like React, Vue, or Svelte — while rendering real native components and prioritizing performance.

Is Lynx a React Native replacement?

Yes — Lynx directly competes with React Native. Both aim to bridge the gap between web and mobile development using JavaScript. But Lynx differentiates itself with native rendering, background-threaded APIs, and framework-agnostic design.

How is Lynx different from Flutter?

Flutter uses its own rendering engine and Dart programming language. Lynx, on the other hand, leverages JavaScript and renders native components. Flutter is often preferred by mobile-native teams; Lynx is more approachable for web developers.

Why did ByteDance build Lynx instead of using React Native?

ByteDance likely wanted more performance, more flexibility, and more control than React Native could offer. Owning the framework means they can steer its roadmap without relying on Facebook’s priorities.

Should my team consider Lynx?

If you’re starting fresh and already work in the JavaScript ecosystem, Lynx could be a compelling choice. But it’s still early — so be prepared for lighter documentation and fewer community libraries compared to React Native or Flutter.

Similar resources

Lynx vs React Native vs Flutter
Engineering

Cross-Platform Development in 2025: Lynx vs. React Native vs. Flutter

Lynx, React Native, and Flutter each offer a unique approach to cross-platform development in 2025. Lynx brings a web-native workflow with full CSS support, React Native thrives on its vast ecosystem and React compatibility, while Flutter delivers consistent UIs with high-performance rendering. This breakdown explores their strengths, technical differences, and which framework suits your next project.

By Mike Miller

March 10, 2025

FDL Shutdown - Big
Engineering

Firebase Dynamic Links Are Shutting Down – What’s Next for Notifications & Deep Linking?

Firebase Dynamic Links will be discontinued by August 25, 2025, impacting push notifications, SMS, and email deep linking. Discover the best alternatives, from App Links and Universal Links to third-party services and custom solutions.

By Mike Miller

February 18, 2025

Building Mobile Apps in 2025
Engineering

The Evolution of Mobile Development: From native apps to Flutter, React Native, and AI

Mobile development has come a long way—from the challenges of native apps to the rise of cross-platform tools like React Native and Flutter. Now, AI is driving a new wave of innovation, making app creation faster, smarter, and more accessible than ever. Explore the journey and see what’s next for developers.

By Mike Miller

January 21, 2025

Build your first notification in minutes

Send up to 10,000 notifications every month, for free.

Get started for free

Email & push notification

Build your first notification in minutes

Send up to 10,000 notifications every month, for free.

Get started for free

Email & push notification

Platform

Users

Content

Channels

Sending

Workflows

Preferences

Inbox

Workspaces

Observability

API Status

Changelog

© 2025 Courier. All rights reserved.