Introduction

Hot Updater is an alternative to react-native-codepush that provides self-hostable OTA (Over-The-Air) update capabilities for React Native apps, allowing you to instantly update your JavaScript bundle without going through app stores.

Motivation

The existing CodePush was limited due to its dependency on Microsoft's AppCenter. One significant drawback was the lack of a CDN (Content Delivery Network), which could result in slower bundle downloads in certain countries.

Additionally, while metro is widely used as a bundler, new alternatives such as repack and vxrn have emerged. However, tools like expo update and React Native CodePush only support metro, causing dissatisfaction among developers who need more flexibility.

During the development of this solution, I learned about the discontinuation of AppCenter, which further emphasized the urgency of creating a better alternative.

Key Requirements

  1. Freedom of Deployment
    The solution should allow deployment to any infrastructure that a company uses, providing maximum flexibility.

  2. Bundler Flexibility
    The solution must support any bundler, not just metro, to meet the diverse needs of developers.

Implementation Approach

To meet these requirements, i introduced a Plugin System. This system allows deployment anywhere as long as the necessary plugin is available. Similarly, developers can configure the solution to work with any bundler of their choice.

Key Features

  • Self-Hosting: Full control over your update infrastructure
  • Multi-Platform: Seamless support for both iOS and Android
  • Web Console: Intuitive update management interface
  • Version Control: Robust app versioning with semantic versioning
  • Forced Updates: Push critical updates when needed