Профиль клиента
Наш клиент — компания, разрабатывающая no-code платформу, предназначенную для издателей, владельцев медиа-контента и OTT-провайдеров.
С её помощью пользователи могли создавать и продвигать приложения под разными брендами без необходимости в технической разработке.
Однако на определённом этапе команда столкнулась с проблемой: высокая стоимость создания и поддержки нативных приложений для iOS и Android начала съедать существенную часть бюджета, изначально предназначенного для маркетинга и роста. Это стало толчком для поиска более эффективного технического решения.
Решение
Поскольку изначально платформа была построена с использованием нативных приложений, перед СКЭНД стояла задача найти альтернативное решение. Мы предложили перейти на React Native, основываясь на следующих преимуществ:
- Кроссплатформенность: React Native позволил создать единую единую кодовую базу для мобильных приложений на iOS и Android, что автоматически снизило затраты на кроссплатформенную разработку мобильных приложений.
- Горячая перезагрузка: Эта функция ускорила процесс разработки и позволила мгновенно увидеть результат вносимых изменений.
- Обширная экосистема: Мы получили доступ к множеству готовых библиотек и инструментов, а также поддержку активного сообщества и крупных спонсоров, таких как Microsoft, Expo, Callstack и Infiniti Red.
- Производительность: Благодаря использованию виртуального DOM, нативных компонентов, JavaScript Bridge и Hermes, нам удалось сохранить производительность, близкую к уровню нативных приложений.
В качестве основного метода перехода на React Native мы выбрали гибридный подход в мобильной разработке — то есть поэтапную замену нативных экранов и модулей на компоненты RN. Чтобы новые компоненты могли взаимодействовать с существующим нативным кодом, мы применили специальный метод — паттерн проектирования «Мост» (Bridge pattern).
Процесс разработки
Процесс перехода включал следующие этапы:
- Анализ текущей архитектуры для определения наиболее рационального пути перехода.
- Определение списка нативных модулей, которые можно переписать на React Native без потери необходимой функциональности.
- Постепенный перенос UI-компонентов и логики.
- Тестирование совместимости API для подтверждения согласованности между новыми компонентами React Native и существующими API.
- Интеграция сторонних SDK.
Основные преимущества миграции
Миграция мобильных приложений на React Native обеспечила ряд важных преимуществ:
- Тестирование на каждом этапе сделало переход плавным и безопасным.
- Оптимизированные нативные модули сохранили скорость работы приложения.
- React Native предоставил достаточную гибкость для адаптации к возможному масштабированию платформы.
- Параллельная работа над iOS и Android ускорила выпуск новых функций и обновлений.
Результат
Внедрение React Native серьезно улучшило платформу. Объединение разработчиков iOS и Android в одну команду позволило снизить затраты на поддержку мобильных приложений и значительно упростить техническое обслуживание.
Единая кодовая база ускорила выпуск мобильных приложений. Теперь платформа стала универсальной и легко адаптируется для работы на Smart TV и веб-платформах. А благодаря активному сообществу в Facebook, она будет оставаться актуальной и открытой для будущих изменений.