React Native Ease: Platform-Native Animations Without the Extra Work

youtube-cover
Guest
Janic Duplessis
Head of Consulting
@
App & Flow

React Native animation has come a long way from JS-driven Animated calls and early native-driver work.

In this episode, Łukasz Chludziński talks with Janic from App & Flow about React Native Ease, a library built around a simple idea: use the native platform’s animation primitives when they are the right fit. The conversation covers why this still matters in a mature ecosystem, where Reanimated remains the workhorse, and how small API choices can make animation code feel closer to regular React.

Janic, a React Native contributor and developer at App & Flow, joins Łukasz to unpack the thinking behind React Native Ease. They trace Janic’s path from early mobile work with Cordova and WebViews, through React Native Core contributions, to building a focused animation library that uses Core Animation on iOS, Android’s Animator APIs, and CSS transitions on the web.

From early React Native bugs to a mature ecosystem

Janic started using React Native when it was still iOS-only, after working on WebView-based mobile apps with Cordova.  At the time, React Native offered a much more native-feeling alternative to Cordova, while still being young enough that plenty of bugs were small, visible, and approachable for new contributors. Today, the ecosystem is more polished, React Native Core is slimmer, and many contribution opportunities live in third-party libraries instead.

Why React Native Ease exists

React Native Ease came from a long-standing gap Janic had noticed: iOS developers usually use Core Animation for certain UI animations, but React Native animation libraries were not exposing that path directly. The library focuses on simple, fire-and-forget animations such as opacity, translation, scale, and similar cases where native platform APIs can do the work efficiently.

Core Animation and the UI thread

The key technical distinction is on iOS. Core Animation API hands animation work to a render server outside the app process, which means the animation does not have to update on the UI thread every frame. That matters when React commits, view mounting, or other UI work compete for the same frame budget. React Native Ease is built to take advantage of this where the platform supports it.

Reanimated is still the right tool for complex interactions

Janic is clear that React Native Ease is not trying to replace Reanimated. Reanimated is still the right choice for gesture-driven animations, advanced interactions, and custom per-frame calculations. The trade-off is that this flexibility has a cost. For simple transitions, React Native Ease asks whether developers need that machinery at all.

The slow-moving onboarding background

The library’s first strong use case came from a client app with an onboarding background that moved slowly across screens. Because the movement was subtle and continuous, dropped frames were easy to notice. Replacing the existing approach with a Core Animation-based implementation removed the visible stutter on iOS, which pushed Janic to turn the idea into a reusable library.

A React-like API by design

React Native Ease exposes a component that behaves like a regular React Native View. Developers can replace or wrap a view, pass animated properties, and let state changes drive transitions. There is no separate imperative start/stop handle and no shared-value model to learn. The goal is to keep the API close to React: change state, update props, let the transition run.

Resources

‍

Insights

Learn more about Animations

cover

Jul 7Podcast

Where Reanimated Goes Next

A conversation with Bartłomiej Błoniarz on CSS animations in Reanimated, native primitives on iOS, shared element transitions, and the work still left on stability.

cover

Oct 30Live Stream

Reanimated, TanStack, Cross-Pollinating Languages & TWIR #256 Anniversary

Catch up on everything from TanStack updates and Astro insights to Reanimated deep dive and even Swift for Android. Plus, we celebrate the 256th newsletter!

Events Cover

Apr 16Talk

How to Make Your React (Native) App Feel Native

How to make your React Native app feel truly native, across iOS, Android, tvOS & more. Dive into best practices, navigation, and react-native-bottom-tabs.

cover

Feb 19Podcast

Reanimated 4 is the Future of Smooth React Native Animations

Reanimated 4 is now available in beta, and if you work with animations in React Native, you need to know what’s new!

cover

Jan 31Podcast

Remotion and Animations in React Native

Discover all you need to know about Remotion and animations in React Native from this episode of React Universe On Air with our guest - Jonny Burger.

cover

Oct 11Article

A Deep Dive Into React Native Reanimated v1

Read the article to learn more about what React Native Reanimated is, how it works under the hood, and what idea stands behind the library.

cover

Apr 15Article

ReanimatedArc - Build Circular Animated UI Elements in React Native

Build good-looking and smooth animated arcs in React Native with ReanimatedArc library.

cover

Oct 25Article

Custom Screen Transitions in React Navigation

Wondering how to custom a screen transition animation in React Navigation? Check this step-by-step guide.

cover

Aug 8Article

Reanimating Your React Native Experience

Read how to achieve delightful developer experience with react-native-gesture and react-native-animated.