PitchHut logo
Log in / Sign up
Hot Updater
by gronxb
A customizable OTA update solution for React Native applications.
Pitch

Hot Updater provides a self-hosted solution for over-the-air (OTA) updates in React Native applications. This robust alternative to CodePush enables developers to fully control their update infrastructure while supporting both iOS and Android platforms, along with an intuitive web console and a flexible plugin system.

Description

Hot Updater is a self-hostable Over-the-Air (OTA) update solution designed specifically for React Native applications, serving as an alternative to CodePush. This project enables developers to maintain complete control over their update infrastructure while providing essential features for effective app management.

Key Features

  • Self-Hosted: Offers full autonomy over the update process without relying on third-party services.
  • Multi-Platform Support: Compatible with both iOS and Android operating systems, ensuring broad applicability across mobile platforms.
  • Web Console: Features an intuitive and user-friendly web interface for efficient update management.
  • Extensible Plugin System: Allows for seamless integration with various storage providers such as AWS S3 and GitHub, enabling customized solutions to meet diverse requirements.
  • Version Control: Implements robust app versioning that adheres to semantic versioning principles.
  • Supports New Architecture: Aligns with the latest developments in React Native, ensuring compatibility with modern applications.

Plugin System

Hot Updater boasts a highly extensible plugin system, where core functionalities like building, storage, and database management are modularized into separate plugins. This design empowers users to tailor their configuration based on specific needs.

Plugin Types

  • Build Plugin: Supports popular bundlers including Metro and Re.pack.
  • Storage Plugin: Facilitates bundle storage solutions like AWS S3 and Supabase Storage.
  • Database Plugin: Manages metadata storage through providers like Supabase Database and PostgreSQL.

Configuration Example

Here’s a brief code snippet demonstrating how to configure Hot Updater using Supabase:

import { metro } from "@hot-updater/metro";
import { supabaseDatabase, supabaseStorage } from "@hot-updater/supabase";
import { defineConfig } from "hot-updater";
import "dotenv/config";

export default defineConfig({
  build: metro(),
  storage: supabaseStorage({
    supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
    supabaseAnonKey: process.env.HOT_UPDATER_SUPABASE_ANON_KEY!,
    bucketName: process.env.HOT_UPDATER_SUPABASE_BUCKET_NAME!,
  }),
  database: supabaseDatabase({
    supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
    supabaseAnonKey: process.env.HOT_UPDATER_SUPABASE_ANON_KEY!,
  }),
});

For further details, comprehensive documentation can be found at Hot Updater Documentation.

0 comments

No comments yet.

Sign in to be the first to comment.