Tophat
Tophat — инструмент для установки и тестирования мобильных приложений из CI-артефактов в один клик. Помогает делиться сборками и запускать их на нужном устройстве или эмуляторе.
Что такое Tophat?
Tophat — это инструмент для установки и тестирования мобильных приложений в один клик. Он предназначен для того, чтобы помочь командам распространять сборки из CI-артефактов, создавать ссылки для установки и запускать приложения на устройствах или эмуляторах, не требуя от участников клонировать ветки или собирать их локально.
Проект также включает возможности расширений и командной строки для интеграции собственных систем сборки и кэширования. Tophat поддерживает рабочие процессы iOS и Android через install URL, Quick Launch и провайдеры артефактов, а рецепты могут включать несколько артефактов для разных целей.
Ключевые возможности
- Ссылки для установки CI-артефактов в один клик, чтобы тестировщики и участники могли устанавливать сборки без локальной сборки.
- Загрузки на основе провайдеров артефактов, позволяющие Tophat получать сборки из встроенных провайдеров или провайдеров, добавленных через расширения.
- Поддержка нескольких типов запросов, включая URL, Quick Launch и командный интерфейс
tophatctl. - Рецепты, которые могут объединять несколько артефактов в одном запросе, что полезно, когда для эмуляторов и физических устройств нужны разные сборки.
- Расширения TophatKit SDK для интеграции собственных систем сборки и кэширования в поток установки.
- Ярлыки Quick Launch для избранных приложений, которые могут загрузить последнюю сборку, обновить иконку приложения и запустить его на выбранном устройстве.
- Закрепление устройств и настройка через параметры для более быстрого доступа к часто используемым устройствам и путям к инструментам для разных сред.
- Поддержка аргументов запуска, с описанными способами передачи для iOS и Android.
Как использовать Tophat?
Обычно настройка начинается с интеграции Tophat с вашим build- или artifact provider, чтобы он мог находить загружаемые сборки приложений. Затем вы создаете ссылки для установки, элементы Quick Launch или используете tophatctl для запуска установки на выбранном устройстве или эмуляторе.
Для команд с собственной инфраструктурой можно использовать TophatKit SDK и варианты провайдера на shell-скриптах, чтобы адаптировать Tophat к существующим системам сборки и кэширования. После настройки пользователи нажимают ссылку для установки или выбирают приложение в Tophat, чтобы загрузить, установить и открыть сборку на целевом устройстве.
Сценарии использования
- Совместное использование CI-сборок с QA, чтобы тестировщики могли устанавливать конкретную версию приложения прямо по ссылке.
- Возможность для внешних участников тестировать pull request'ы без клонирования репозитория или локальной сборки приложения.
- Установка отдельных сборок для эмулятора и устройства по одному запросу, когда процесс релиза создает разные артефакты для разных целей.
- Быстрый доступ к часто используемым приложениям для разработчиков, которые переключаются между многими проектами или устройствами.
- Подключение Tophat к внутренним системам сборки или кэшей через расширения или провайдеры на shell-скриптах.
FAQ
Tophat работает только с одним источником артефактов? Нет. В описании указаны встроенные провайдеры артефактов и дополнительные провайдеры, которые можно установить через Tophat Extensions.
Tophat может работать и с устройствами, и с эмуляторами? Да. В документации сказано, что один запрос может включать несколько артефактов, а Tophat может выбрать подходящий в зависимости от выбранного назначения.
Можно ли передавать аргументы запуска в установленное приложение?
Да. В описании указан параметр запроса arguments для install URL и отмечена platform-specific обработка для iOS и Android.
Есть ли вариант с командной строкой для интеграции?
Да. На странице упоминается tophatctl и говорится, что пользователи могут выводить список провайдеров артефактов из командной строки.
Нужны ли Tophat собственные инструменты, чтобы он был полезен? Не обязательно. В описании упоминаются встроенные провайдеры и базовая поддержка HTTP, а расширения доступны для более настроенных сценариев.
Альтернативы
- Ручное распространение приложений через прямые загрузки сборок или общие ссылки: проще, но без device-aware потока установки и возможностей Quick Launch Tophat.
- Просмотрщики CI-артефактов и порталы загрузки: полезны для получения сборок, но обычно ориентированы на хранение и доступ, а не на установку на устройство в один клик.
- Платформы для тестирования мобильных устройств: более широкие end-to-end тестовые наборы, которые могут включать распространение сборок, но обычно покрывают больше, чем сфокусированный workflow установки и запуска Tophat.
- Собственные скрипты или внутренние инструменты распространения: гибкие для конкретных пайплайнов, но обычно требуют больше поддержки, чем стандартизированный workflow со ссылками для установки.
Альтернативы
FixMyCWV
FixMyCWV — инструмент аудита Core Web Vitals, который выявляет проблемы LCP, INP и CLS и дает рекомендации по исправлению на уровне кода.
Ably Chat
Ably Chat — chat API и SDK для кастомных realtime-приложений: реакции, presence и правка/удаление сообщений для чатов в масштабе.
AakarDev AI
AakarDev AI — это мощная платформа, которая упрощает разработку приложений ИИ с бесшовной интеграцией векторных баз данных, позволяя быстрое развертывание и масштабируемость.
DeepMotion
DeepMotion — платформа ИИ для motion capture и body-tracking: создавайте 3D-анимации из видео (и текста) в браузере; интеграция через Animate 3D API.
Arduino VENTUNO Q
Arduino VENTUNO Q — edge AI компьютер для робототехники: ускоренный вывод нейросетей и микроконтроллер для детерминированного управления. Через Arduino App Lab.
Devin
Devin — AI coding-агент для команд: помогает завершать миграции и крупные рефакторинги, выполняя подзадачи параллельно под контролем инженеров.