React Native Performance


The following course is designed for developers who have production experience with React Native. The scope dives deep into the native side of the framework. It’s a very low level in terms of React Native development. The course tackles a lot of the iOS and Android application development topics. It’s perfect for gaining a wide overview of mobile app creation, and lets you look at React Native in a different way.


React performance techniques

Optimizing React code is crucial for well made React Native apps. In the beginning of this training we’ll explain the life cycles of React and the best ways to consume them to achieve performance boosts. After that, we’ll show some patterns and anti-patterns used in daily React development, which significantly affect performance.

JavaScript debugging and profiling

Writing JavaScript code is a major part of React Native development. As with any other language, sometimes it’s easy to introduce a shiny line of code that could kill performance. In this section we’ll introduce tools that will help participants diagnose their code and eliminate bottlenecks.

Understanding the communication between JS & Native

Understanding the communication between JS and Native is crucial for optimising React Native performance. We want to make every participant aware of how it works, what it means to block a bridge and how we count FPS. Additionally, we will compare an initialised React Native app with native apps, including a demonstration of native tools that work well with React Native.

Diving deep into profiling in Native IDEs (Xcode, Android Studio)

Apps written in React Native are fully native apps. It means that the tools used by native developers could be helpful for React Native developers. We would like to focus on things like UI Inspectors in Xcode and Android Studio, Xcode’s Instruments and Android Profiler.

Native debugging techniques

Sometimes debugging the dev build in Chrome or generally debugging JavaScript is not enough. We want all participants to be aware of the native debugging techniques, which include reading the logcat and xcode console, reading the device’s console, placing breakpoints in native code and inspecting the UI.

Bundling JS + RAM bundles

Exploring the process of bundling JavaScript. We would like to highlight the way metro bundles JS for development and for production. We’ll show what is used under the hood and how to lazy-load expensive screens using inline requires and RAM bundles.

Using custom JSC for Android

JavaScript Core bundled with RN Android pre 0.59 is 4 years old. We’ll show how to replace it with a new version to gain a “free” performance boost for Android in less than 10 minutes.


Familiarity with React Native development will help you get the most out of this workshop.


Callstack Developers

Sep 1, 2020



Buy Workshop

Let's talk