New Tool Slashes App Update Sizes

Expo SDK 55 has introduced bundle diffing for over-the-air updates, reducing iOS and Android app download sizes by an average of 75%. This optimization can significantly improve deployment efficiency and user experience within Apple's ecosystem.

This optimization is achieved through Hermes bytecode diffing, which sends only a binary patch of the changes rather than the entire compiled JavaScript bundle. The underlying mechanism utilizes the `bsdiff` algorithm, a well-established binary patching tool, now applied to Hermes' compiled code, which is what enables the dramatic reduction in update size. For internal comparison, this over-the-air update method for React Native apps complements Apple's own App Thinning strategies like slicing and bitcode, which optimize the initial install size. While App Thinning targets the native code and resources for specific devices, Expo's bundle diffing specifically targets the JavaScript-based logic, enabling rapid iteration on the application's core functionality post-install. This feature is part of the broader Expo SDK 55 release, which mandates the "New Architecture." This architecture eliminates the previous JSON serialization bridge in favor of the JavaScript Interface (JSI), allowing for more direct and performant communication between JavaScript and native threads, a foundational shift that makes fine-grained optimizations like bytecode diffing more feasible. The shift to smaller, faster updates directly impacts user retention and the speed of critical bug fixes. Large updates often lead to user deferral, whereas OTA patches can be applied almost instantly in the background, sometimes on the next app launch, significantly increasing adoption rates for new features and patches. This update is opt-in for SDK 55 but is slated to become the default in SDK 56, signaling a major push towards greater efficiency in the React Native ecosystem. The move also aligns with broader industry trends focusing on reducing data consumption and improving performance on mobile devices, where storage and bandwidth can be limiting factors. Furthermore, Expo SDK 55 introduces an alpha for iOS Home Screen Widgets and Live Activities built directly from JavaScript, another step in closing the feature-parity gap with fully native development. The ability to manage both the core app logic and native UI extensions like widgets through a unified, rapidly updatable codebase presents a notable evolution in cross-platform capabilities.

Get your own daily briefing

Scout delivers personalized news, insights, and conversations tailored to your role and industry.

Download on the App Store

Shared from Scout - Be the smartest in the room.