Lynx — TikTok의 크로스 플랫폼 UI 엔진
React처럼 쓰고, 네이티브로 렌더링
Lynx는 TikTok에서 개발한 오픈소스 크로스 플랫폼 UI 프레임워크다.
핵심 컨셉
React와 유사한 컴포넌트 기반 문법으로 UI를 작성하면, Lynx가 이를 각 플랫폼의 네이티브 뷰로 렌더링한다. WebView가 아니라 실제 네이티브 렌더링이다.
기존 크로스 플랫폼 프레임워크들(React Native, Flutter)과 같은 문제를 풀지만, TikTok이라는 초대규모 서비스에서 실전 검증을 거쳤다는 점이 다르다.
렌더링 파이프라인
Lynx는 자체 렌더링 엔진을 갖고 있다. JavaScript/TypeScript로 작성한 컴포넌트를 파싱하고, 레이아웃을 계산한 뒤, 플랫폼 네이티브 뷰 트리로 변환한다.
React Native가 JavaScript Core + Bridge를 쓰는 것과 달리, Lynx는 자체 JS 런타임과 렌더링 파이프라인으로 성능 병목을 줄이려고 한다.
Sparkling과의 관계
Lynx 자체는 UI 렌더링에 집중한다. 근데 실제 앱을 만들려면 빌드 시스템, 네이티브 브릿지, 내비게이션, 디바이스 API 접근이 필요하다.
이걸 Sparkling이 해결한다. React Native와 Expo의 관계를 떠올리면 된다.
Lynx = 렌더링 엔진 (React Native Core에 해당)
Sparkling = 프로덕션 프레임워크 (Expo에 해당)
현재 포지셔닝
React Native 진영이 이미 거대한 생태계를 갖고 있고, Flutter도 자리를 잡았다. 후발주자로서 Lynx의 장점은 TikTok이라는 실전 사례가 있다는 거다.
퍼블릭 베타 단계이고, 생태계가 아직 초기라서 프로덕션 도입은 시기상조일 수 있다. 하지만 TikTok 규모의 회사가 프로덕션에서 쓰고 있다는 건 기술적 완성도의 강력한 신호다.
동작 흐름
React 유사 문법으로 컴포넌트 작성 (JSX/TSX)
Lynx 엔진이 JS를 파싱 → 레이아웃 계산
각 플랫폼의 네이티브 뷰 트리로 변환 → 네이티브 렌더링
Sparkling이 빌드·브릿지·내비게이션 등 프로덕션 인프라 제공