Callstack Mar 20, 2025

Why Knowing Your App's Bundle Contents Matters for React Native Performance

Article Summary

Szymon Chmal from Callstack reveals why your React Native app might be loading slowly—even when your code looks clean. The culprit? Bundle bloat you can't see without the right tools.

While Hermes improved React Native performance with ahead-of-time compilation, bundle size still impacts memory footprint, startup time, and OTA update speeds. This matters especially for App Clips, Instant Apps, and users in bandwidth-constrained regions. Expo Atlas provides X-ray vision into your bundle to catch these issues.

Key Takeaways

Critical Insight

Expo Atlas gives React Native developers precise bundle insights to eliminate bloat, reduce load times, and optimize for size-constrained scenarios like App Clips and OTA updates.

The article includes a step-by-step guide to enabling Atlas in both Expo and vanilla React Native projects, plus real examples of catching oversized dependencies.

About This Article

Problem

React Native developers often can't figure out why their apps are slow on older devices or in areas with limited bandwidth. Bundle size still affects memory usage and startup time, even with Hermes' ahead-of-time compilation.

Solution

Szymon Chmal from Callstack built Expo Atlas to work with Metro's bundler. It maps out the dependency tree and shows you exactly how your bundle is structured. You can see what percentage of the total size each dependency takes up and how modules connect to each other.

Impact

Expo Atlas fills a gap that Source Map Explorer leaves behind. It catches up to 30% of bundle size that goes unanalyzed. By using Metro's dependency graph, it gives you the full picture of your app's structure so you can actually make optimization decisions.

Recent from Callstack

Related Articles