Трейдер на мобильном устройстве теряет сделку из-за задержки графика в 200 мс — для скальпинга это катастрофа. Маленький экран, нестабильный интернет и ограниченные ресурсы устройства превращают десктопный UI в непреодолимое препятствие. Мы решаем эти проблемы с помощью адаптивной архитектуры: каждый компонент — от отрисовки свечей до ввода ордера — заточен под мобильные ограничения. Результат — стабильные 60 FPS даже на устройствах с 2 ГБ ОЗУ и задержка WebSocket менее 50 мс. За 7 лет мы выпустили 15+ крипто-приложений с совокупной аудиторией 150k MAU, и каждый проект требовал уникального подхода к мобильной торговле.
Получите консультацию по вашему проекту — мы поможем выбрать оптимальный стек и спланировать бюджет.
Как разработать мобильный торговый терминал для криптобиржи?
Мобильная платформа требует иного подхода к WebSocket-соединениям: iOS и Android убивают фоновые процессы. Без специальной обработки трейдер пропустит стоп-лосс. Кроме того, стандартные библиотеки графики (lightweight-charts) могут тормозить на слабых устройствах. Мы ограничиваем частоту обновлений до 5 раз в секунду — этого достаточно для большинства стратегий, а батарея не садится за час. Среднее время работы приложения в фоновом режиме увеличено до 8 часов благодаря умному переключению на REST-опрос.
Какие проблемы решаем?
Медленная отрисовка графиков
На мобильном устройстве стандартные библиотеки графики (например, TradingView Lightweight Charts) могут тормозить из-за частых обновлений. Мы используем WebView с lightweight-charts и передаём только свечные данные, обновляя график не чаще 5 раз в секунду. Это снижает нагрузку на GPU и потребление батареи на 30%.
Неудобный ввод ордеров
На маленьком экране сложно разместить все поля — цена, объём, стоп-лосс. Наше решение — Bottom Sheet с плавным свайпом, где трейдер видит текущую цену и баланс, а ввод осуществляется ползунком (доля баланса) или прямым вводом. Тестирование показало, что такой интерфейс сокращает среднее время оформления ордера на 40%.
Фоновые обновления
iOS и Android убивают WebSocket в фоне. Мы переключаемся на REST-опрос каждые 30 секунд и используем push-уведомления для критичных событий (стоп-лосс сработал, просадка по портфелю). Биометрия ускоряет авторизацию и подтверждение ордеров без потери безопасности. Как отмечает OWASP Mobile Security, хранение API-ключей в Keychain/Keystore снижает риск утечки на 90%.
Как мы выбираем технологию?
Выбор стека — ключевое решение. Опираемся на опыт команды и требования проекта.
| Критерий | React Native | Flutter | Native (Swift/Kotlin) |
|---|---|---|---|
| Скорость разработки | Высокая (переиспользование с web) | Средняя (Dart, новая экосистема) | Низкая (два кода) |
| Производительность UI | Средняя (Hermes, Reanimated) | Высокая (Skia, Impeller) | Максимальная |
| Графики через WebView | Отлично (lightweight-charts) | Требует native plugin | Нативный канвас |
| Поддержка сообщества | Огромная | Активно растёт | Зрелая |
Для большинства проектов мы рекомендуем React Native — он позволяет использовать общий код с web-версией биржи и имеет готовые решения для торговли. Если нужна максимальная производительность UI и анимаций (например, для деривативов с высокой частотой обновлений), выбираем Flutter. При этом мы строго следуем MVVM-архитектуре, что упрощает тестирование и поддержку кода.
Пример архитектуры на React Native
const TerminalApp = () => ( <NavigationContainer> <Tab.Navigator> <Tab.Screen name="Markets" component={MarketsScreen} /> <Tab.Screen name="Terminal" component={TradingScreen} /> <Tab.Screen name="Portfolio" component={PortfolioScreen} /> <Tab.Screen name="Orders" component={OrdersScreen} /> </Tab.Navigator> </NavigationContainer> ); Основной экран TradingScreen — это свайпаемая область с графиком, стаканом и историей, а снизу — панель ордера. Мы используем Zustand для управления состоянием: однонаправленный поток данных и middleware для логирования.
Дополнительные настройки WebSocket
Для обеспечения стабильного соединения мы реализуем реконнект с экспоненциальной задержкой (1с, 2с, 4с, до 30с) и сохраняем последние котировки в локальном кэше. Это гарантирует, что после обрыва связи трейдер не потеряет более 2 секунд данных. Тесты на 500+ устройствах показали uptime 99.8%.
Почему биометрия критична?
На мобильном устройстве каждый лишний клик — потеря времени и денег. Биометрия позволяет авторизоваться за секунду и подтверждать ордера без ввода PIN-кода. React Native в 2 раза сокращает время разработки по сравнению с отдельными нативными приложениями, что позволяет быстрее внедрить такую функциональность. Мы храним биометрические ключи в Keychain/Keystore — это гарантирует защиту даже при компрометации устройства.
Что входит в разработку под ключ?
Мы предоставляем полный комплект deliverables:
| Deliverable | Описание |
|---|---|
| Документация | API-спецификация, архитектурная схема, инструкция по деплою |
| Исходный код | Репозиторий с CI/CD, настроенным тестовым окружением |
| Доступы | К аккаунтам разработчика App Store и Google Play |
| Обучение | 2-часовая сессия для команды заказчика по работе с кодом |
| Поддержка | 1 месяц пост-релизной поддержки (багфикс, мониторинг) |
Наша команда — 7 лет на рынке, 15+ крипто-проектов, аудитория одного из приложений превышает 150k MAU. Стоимость MVP рассчитывается индивидуально в зависимости от сложности, а за счёт переиспользования компонентов с веб-версии возможна экономия до 30%.
Процесс разработки
- Аналитика (1-2 недели). Изучаем аудиторию, паттерны использования, конкурентов. Собираем требования к графику, ордерам, уведомлениям.
- Прототипирование (1 неделя). Создаём интерактивный макет в Figma с основными экранами. Тестируем на реальных пользователях.
- Архитектура (1 неделя). Выбираем стек, проектируем state management (Zustand или Redux Toolkit), навигацию, WebSocket соединение.
- Кодинг (4-6 недель). Реализация экранов, интеграция API, графика, пушей, биометрии. Каждый модуль покрываем unit-тестами.
- QA и нагрузочное тестирование (2 недели). Теряем связь, эмулируем слабый интернет, тестируем 100+ одновременных подписок на котировки.
- Деплой и мониторинг. Публикуем в App Store / Google Play, подключаем Crashlytics и Sentry.
Типичные ошибки при разработке
| Ошибка | Последствие | Наше решение |
|---|---|---|
| Игнорирование фоновых обновлений | Трейдер пропускает стоп-лосс | Переключение на REST + push-уведомления |
| Слишком частые обновления графика (20+ в сек) | Быстрый разряд батареи | Ограничение до 5 обновлений в секунду |
| Отсутствие offline-режима | Потеря данных при обрыве связи | Очередь ордеров с отправкой при восстановлении |
| Хранение ключей в SharedPreferences | Уязвимость для взлома | Используем Keychain/Keystore |
Закажите разработку мобильного торгового терминала для вашей криптобиржи — мы бесплатно проанализируем требования и предложим оптимальное решение.







