Exploring Lynx.js and Its Two-Thread Runtime

Date
Thursday, November 27, 2025
Time
5PM [CET]
Location
Online

Exploring Lynx.js and Its Two-Thread Runtime

A recap of our live session exploring how Lynx.js splits work across a main thread and a background thread.

Date
27 November 2025
-
Time
5PM [CET]
Location
Online

Exploring Lynx.js and Its Two-Thread Runtime

youtube-cover
Video Unavailable
Organizer
Organizer
Presented
Callstack
@
Callstack
Speakers
Speakers
Featuring
Łukasz Chludziński
Software Engineer
@
Callstack
Kewin Wereszczyński
Software Engineer
@
Callstack
Featuring
Łukasz Chludziński
Software Engineer
@
Callstack
Kewin Wereszczyński
Software Engineer
@
Callstack

Lynx.js, a technology from ByteDance, is known for its distinctive two-thread model that splits UI work from application logic. This stream serves as a learning ground for Łukasz Chludziński and Kewin Wereszczyński as they work to understand how this model behaves in practice. With a fresh project and the official docs in hand, they begin mapping out how Lynx approaches execution and where the boundaries between threads appear.

A closer look at the two‑thread model

Lynx runs user code on a background engine, while the main thread handles UI work. This separation shapes how the application behaves from the start. As they explore component examples, the hosts notice how thread‑specific bindings show up in the API. Props like main-thread:bindscroll appear directly in autocomplete, making the thread boundary visible inside the component interface. The model encourages thinking intentionally about where logic executes.

Working through the tutorial code

The team proceeds through the official gallery tutorial, pulling in assets, reviewing JSX structure, and following how layout and CSS flow through the engine. Components look familiar, and the presence of thread‑aware props adds a new dimension to the mental model. Some steps require troubleshooting-type definitions, imports, and file placement-but each adjustment reveals more of how Lynx expects projects to be organized.

Understanding how interactions flow

As they build up the example, the role of main‑thread bindings becomes easier to see. Interactions that need direct access to UI state rely on main‑thread directives, while everything else stays on the background thread. Seeing these decisions in context helps clarify how developers reason about interaction timing and responsiveness in Lynx.

What comes next

This session establishes the foundation for understanding Lynx’s execution model. Part two continues the exploration, focusing on how work moves between threads and how interaction logic fits into the overall design.

Register now
Facing complex cross-platform challenges?

We help deliver consistent experiences across platforms with one codebase.

Let's chat
Link copied to clipboard!
//
Save my spot

Exploring Lynx.js and Its Two-Thread Runtime

A recap of our live session exploring how Lynx.js splits work across a main thread and a background thread.

//
Insights

Learn more about Cross-Platform

Here's everything we published recently on this topic.

//
Cross-Platform

We can help you move
it forward!

At Callstack, we work with companies big and small, pushing React Native everyday.

Code Sharing

Implement effective code-sharing strategies across all platforms to accelerate shipping and reduce code duplication.

Migration to React Native

Plan and execute a migration from native or hybrid stacks to React Native with minimal disruption and clear technical direction.

Desktop App Development

Develop powerful cross-platform desktop applications that work across Linux, Windows and Mac.

Web App Development

Develop powerful cross-platform desktop applications that work across Linux, Windows and Mac.

React Native Performance Optimization

Improve React Native apps speed and efficiency through targeted performance enhancements.

New Architecture Migration

Migrate confidently to React Native’s New Architecture to keep shipping features, unlock new platform capabilities, and stay fully compatible with upcoming releases.

Quality Assurance

Combine automated and manual testing with CI/CD integration to catch issues early and deliver reliable React Native releases.

Scalability Engineering

Design and validate React Native architectures that scale-supporting high traffic, modular teams, and long-term performance.