I didn't think we'd ever see a real React Native alternative. I certainly didn't think TikTok would make it.
Lynx is incredible. Just posted a deep dive on my channel
Hello word! Lynx is a family of open-source technologies empowering developers to use their existing web skills to create truly native UIs for both mobile and web from a single codebase, featuring performance at scale and velocity. visit lynxjs.org/
🚀 Lynx 3.2 is here!
This is our first stable release since going open source. It brings:
✅ ReactLynx Testing Library
✅ New features in CSS Grid, list, text
✅ Microtask, console, Rspeedy, DevTool, llms.txt
A Thread:
Announcing Lynx for HarmonyOS
Our vision stays the same: unlock native for more platforms and more users. With HarmonyOS adding new diversity, our developers can now reach these users as easily as on Android, iOS, and Web.
🚀 The 2025 roadmap for Lynx is live!
Discover our steady release schedule, expanded platform support (desktop and more), new capabilities, UI elements, and more. Check it out!
lynxjs.org/blog/lynx-open-so…
Lynx was initially optimized for brownfield, so our docs lean toward integration with existing apps.
Want to build greenfield app with Lynx? Check this out 👉
Announcing the first CLI to create new Lynx apps!! 🔥
npx create-lynxjs-app
→ Support for iOS, Android 🤩
→ Blazingly fast ⚡
→ Web & HarmonyOS support coming soon 👀
If you haven't noticed, we made a typo in our very 1st 🐈⬛ tweet (“Hello word” 😅), but everyone was so nice about it!!
Most of the team aren’t native speakers. If you spot anything off, help us out by filing an issue or sending a PR. We just open-sourced our doc site with all the docs and API data: github.com/lynx-family/lynx-….
Hello word! Lynx is a family of open-source technologies empowering developers to use their existing web skills to create truly native UIs for both mobile and web from a single codebase, featuring performance at scale and velocity. visit lynxjs.org/
We shared two demos with @tailwindcss and motion.dev during @Huxpro's talk at @ReactSummit last week. ✨ We are working on integration to make it possible to share design engineering from the Web community into Lynx
TGIF 🎉 your weekend gift, our biggest release yet, Lynx 3.4 is out!
📱 #HarmonyOS support
🪟 dev on Windows
🔍 2 new DevTools Trace & Recorder
📝 <input> & <textarea> finally here
🔤 Variable fonts via CSS!
... plus better list recycling and animations! A Thread:
Of course our demo is cross-platform 😉
The coolest (also hardest) part of this is that they run the exact same framework and app code, invoking the same Element PAPI, with the same threading model.
Watch our latest talk to know how we implement the Lynx engine for Web ⬇️
Announcing Rsdoctor 1.0:
A one-stop, intelligent build analyzer that makes the build process transparent, predictable, and optimizable.
rsdoctor.dev/blog/release/re…
At @ReactSummit in June, @huxpro gave our global debut talk on why we exist and the principles that make us familiar, yet different.
🎥 Video now available (comments👇).
We initially shipped a customize Node-API, but now we’re making it compatible to share with its broader ecosystem.
That means:
💡 Use any language
🔒 ABI-stable
📦 Ship prebuilt native code
Read the detailed RFC and give us feedback ⬇️
Do you know ReactLynx is powered by @preactjs? We just land Preact DevTool in the Lynx DevTool!
We are also working on opening up the Lynx DevTool so different frameworks/libraries can integrate their on DevTool plugins 🤩
Help us complete @PaoloRicciuti's Lynx transformation! We’re looking for companies to fund our work on Svelte custom renderers.
If you’d like to use #svelte to build UIs across all platforms, including native apps with @LynxJS_org, find more info here: svelte-custom-renderers.com/
Our Multi-platform EM will reveal how we're bringing Lynx to desktop on @ubuntu summit, and how our approach both learns from and differs from prior arts like @electronjs and @qtproject.
Excited to be speaking at Ubuntu Summit 25.10! I will be presenting about bringing Lynx to desktops and beyond. Tune in online on Oct 23rd! Register now: ubuntu.com/summit#UbuntuSummit
Huge shoutout to @colinqywang for working on Rspack's first-class support for @lynxjs_org! 🌟 This is what Rspack was born to do: Run anywhere JavaScript runs, power anything JavaScript builds. Let’s vibe with Lynx + Rspack!
Let's Shape the Future of Lynx Together!
Your input matters:
✔️ We've internally built advanced components
✔️ 2025 Roadmap targets gradual open-sourcing
✔️ Need YOUR practical insights to sequence releases
github.com/lynx-family/lynx/…
Our public beta for HarmonyOS brings feature parity in CSS, UI elements, and APIs, with the same native performance and UX.
👉 Check out the blog to see how we built it and how to start your first Lynx Harmony app.
lynxjs.org/blog/lynx-harmony…
Lynx is like “Blink” (the engine), and TikTok will open source its “Chromium” that wraps Lynx with more capabilities such as system APIs and navigation.
We are still naming it! “framework” feels way too overloaded
Yes, your most requested UI elements are finally here!
✅ Single-line <input>
✅ Multi-line <textarea>
What UI element should we ship next? Vote here 👇github.com/lynx-family/lynx/…
There are more in the post
- Proper Microtask support
- More console APIs
- Rspeedy: Rslib and Rspack 1.3
- DevTool: Screen Mirroring with Resolution Control
Read the full post and upgrade guide: lynxjs.org/blog/lynx-3-2.htm…
"What we are open-sourcing today is the exact version we use in production, which is why it starts at version 3.x. It even includes legacy code and APIs we intend to deprecate, but we believe in opening source what we actually rely on." -- lynxjs.org/blog/lynx-unlock-…
With the newly added `custom-text-selection` attribute, you can now implement customized logic to select and copy text across multiple <text> elements, making the text selection experience more similar to the Web.
We also dropped two prod-grade DevTools at once.
🔍Trace → full perfetto-based perf analysis & visualization (think Chrome Perf panel)
🎥 Recorder → time-machine debugging with full record & replay (think Chrome Recorder, but for native!)
The website now supports llms.txt thanks to @rspack_dev's Rspress V2 and its new LLM plugin! Try
lynxjs.org/llms.txtlynxjs.org/llm-full.txt
you can get the original markdown by replacing the .html extension with .md for every page.
Lynx 3.2 adds three CSS functions minmax(), max-content, and fit-content, to help you better controll grid sizes in the CSS Grid Layout.
Let's take a look at an example of building a three-column grid with grid-template-columns: 20% max-content minmax(50px, max-content):
.@TestingLib is a popular way in the JavaScript community to test UI components, and we've adapted it for Lynx. We now introduce a new package `@lynx-js/react/testing-library` and you can use it with `@testing-library/jest-dom`
To make animations more flexible and closer to the Web:
✨ CSS vars can now trigger transitions
✨ Element.animate() is available on MTS (Main Thread Script) for imperative control
Just brewed 🧪 a theme generator for Lynx UI @LynxJS_org
Semantic tokens = the philosopher's stone of interoperable theming.
Props to daisyui, shadcn/ui & tweakcn @iamsahaj_xyz for lighting the path 🙌
#DesignTokens#LynxUI#OpenSource
With MTS (Main Thread Scripting) being able to manipulate elements and styles imperatively, we can simply import { animate } from "motion" to unlock all its power:
Announcing the first CLI to create new Lynx apps!! 🔥
npx create-lynxjs-app
→ Support for iOS, Android 🤩
→ Blazingly fast ⚡
→ Web & HarmonyOS support coming soon 👀
Lynx is like “Blink” (the engine), and TikTok will open source its “Chromium” that wraps Lynx with more capabilities such as system APIs and navigation.
We are still naming it! “framework” feels way too overloaded