Hot Updater: обновления по воздуху для приложений на React Native
Hot Updater — это решение для внедрения обновлений по воздуху (OTA) для приложений на React Native, обеспечивающее полный контроль над обновлениями без привязки к сторонним сервисам, таким как CodePush.
Проект решает задачу управления обновлениями, позволяя разработчикам развертывать обновления для iOS и Android напрямую, не прибегая к сторонним хранилищам кода. Hot Updater предлагает интуитивно понятную веб-консоль для управления обновлениями и поддержку различного хранилища, включая AWS S3 и Cloudflare. Уникальная функция дифференциации пакетов помогает сократить размер загружаемых обновлений за счет повторного использования неизменённых файлов.
Используется JavaScript с поддержкой Node.js. Запускается с помощью команды npx skills add hot-updater/skills. Обрати внимание, что проект всё ещё находится в разработке, поэтому рекомендую протестировать его в условиях реального проекта перед полноценным внедрением.
Проект **Hot Updater** предоставляет инструменты для управления обновлениями приложений на мобильных платформах, таких как iOS и Android. Основная цель проекта — позволить разработчикам эффективно внедрять обновления, минимизируя объем загружаемых данных с помощью технологии «дифференциального обновления» (bundle diffing), а также обеспечивая контроль над инфраструктурой обновлений.
Ключевые возможности
- Self-Hosted: Полный контроль над своей инфраструктурой для обновлений.
- Multi-Platform: Поддержка как iOS, так и Android.
- Web Console: Удобный интерфейс для управления обновлениями.
- Bundle Diffing: Использование неизменённых файлов для уменьшения объёма загружаемых патчей при обновлениях.
- Plugin System: Поддерживает различные провайдеры хранения данных (например, AWS S3, Cloudflare R2).
- Version Control: Надёжное управление версиями приложений с использованием семантического версионирования.
- New Architecture: Поддержка новой архитектуры, в том числе React Native.
Установка и запуск
Для установки Hot Updater можно использовать команду:
npx skills add hot-updater/skills
После установки можно напрямую взаимодействовать с агентами AI по командам, например:
$hot-updater deploy using the current app version
Дифференциальные обновления
Hot Updater позволяет проводить инкрементные обновления (OTA) вместо того, чтобы каждому устройству загружать полный архив. Это достигается благодаря тому, что при обновлениях формируются патчи `.bsdiff` для изменённых сборок Hermes. Например, вместо того чтобы загружать 10 МБ, обновление может быть представлено патчем объёмом лишь 600 КБ при небольших изменениях в байт-коде.
Плагинная система
Hot Updater предлагает высокую расширяемость за счёт системы плагинов, разделяющей функциональность на разные модули, такие как хранение, сборка и базы данных.
- Build Plugin: Поддержка сборщиков, таких как Metro, Re.Pack, Expo.
- Storage Plugin: Поддержка хранилищ для сборок, таких как AWS S3, Supabase Storage, Cloudflare R2 Storage.
- Database Plugin: Поддержка хранения метаданных, таких как Supabase Database, PostgreSQL, Cloudflare D1.
Ограничения
Проект ориентирован на разработчиков мобильных приложений, использующих React Native и другие современные технологии. Хотя система обновлений является мощной, для её эффективного использования требуется знание работы с плагинами и настройками сервера. Также необходимо следить за совместимостью используемых плагинов с вашей инфраструктурой.
Открыть на GitHub: gronxb/hot-updater →
RepoRadar