Shopify Apr 22, 2026

React Native Skia: A Year in Review and a Look Ahead

Article Summary

William Candillon and the Shopify team shipped 89 releases of React Native Skia in 12 months. Their secret? A custom renderer that runs on iOS, Android, Web, and Node.js with zero platform coupling.

React Native Skia brings the powerful Skia 2D graphics engine to React Native through a declarative API. Shopify's team built a custom React renderer that works across platforms and introduced Skia DOM for UI thread rendering, eliminating JavaScript thread bottlenecks.

Key Takeaways

Critical Insight

React Native Skia evolved from alpha to production-ready with a platform-agnostic architecture that renders complex graphics on the UI thread without JavaScript bottlenecks.

The team discovered how each platform displays fonts slightly differently during cross-platform testing, leading to unexpected insights about Skia itself.

About This Article

Problem

React Native Skia had trouble scaling when drawings involved thousands of JSI object allocations and invocations. On low-end devices, this caused noticeable slowdowns, especially during screen transitions with multiple canvases.

Solution

Shopify built Skia DOM, a declarative API that works across platforms. It uses C++ on iOS and Android, JavaScript on Web, and runs drawings directly on the UI thread without needing JSI.

Impact

Skia DOM improved performance by maintaining a single source of truth for drawings and only recomputing what changed. The core library stays small because developers can opt into additional modules like Skottie when they need them.