Разработка приложений на React Native для бизнеса в Дубае и ОАЭ
Приложения на React Native с Expo и TypeScript, которые делят логику с вашим сайтом на React или Next.js и получают небольшие исправления без ожидания полного релиза в магазине — в рамках правил Apple и Google.
Кому подходит React Native
- Компаниям с веб-приложением на React или Next.js, которым нужно мобильное приложение на том же API, с теми же типами и бизнес-правилами.
- Командам, чьи разработчики уже знают TypeScript и будут поддерживать приложение после передачи.
- Продуктам, которые часто меняются и выигрывают от выпуска небольших исправлений JavaScript между релизами в магазине.
- Приложениям, которые должны использовать нативные компоненты каждой платформы, чтобы кнопки, списки и поля ввода следовали соглашениям iOS и Android.
Со стороны магазинов всё так же, как у любого нативного приложения: аккаунты разработчика на имя вашей компании, проверка Apple и Google, правила встроенных покупок для цифровых товаров и push-уведомления через сервисы Apple и Google. Оплата физических товаров и услуг идёт через шлюзы ОАЭ, как описано на странице интеграции платёжных шлюзов, а Apple Pay и Google Pay подключаются там, где их поддерживает ваш шлюз.
Почему мы работаем с Expo
- Development builds
- Инструменты Expo быстро дают рабочее приложение на телефонах вашей команды, а development builds позволяют подключить любую нативную библиотеку, которая нужна проекту. Expo не закрывает доступ к нативному коду.
- EAS Build
- Облачные сборки для iOS и Android с ключами подписи, которые хранятся в одном месте, поэтому релизы не зависят от ноутбука одного разработчика.
- Config plugins
- Нативные настройки — разрешения, push-уведомления, deep links — описываются в конфигурации, а не правятся вручную в нативных проектах. Это значительно упрощает обновление фреймворка.
- Нативные модули
- Если функции нужен Swift или Kotlin — например, для конкретного Bluetooth-устройства или платёжного терминала, — мы пишем небольшой нативный модуль с типизированным интерфейсом. Экраны с насыщенной анимацией используют библиотеки, которые работают на нативной стороне.
Обновления по воздуху в рамках правил магазинов
С EAS Update изменения в JavaScript-части приложения — исправление текста, ошибки вёрстки или логики — доходят до пользователей при следующем запуске без новой отправки в магазин. Всё, что затрагивает нативный код, разрешения или нативную конфигурацию приложения, по-прежнему требует обычного релиза в магазине.
Apple и Google допускают такие обновления, пока они не меняют основное назначение приложения и не добавляют функций, которые потребовали бы проверки. Мы используем их для исправлений и небольших улучшений, а не для обхода проверки, и привязываем каждое обновление к конкретной версии нативной сборки, чтобы оно не попало в сборку, на которой его не тестировали. Обновления можно выпускать на часть пользователей и откатывать.
React Native, Flutter или нативная разработка
| Выбирайте | Когда |
|---|---|
| React Native | У вас React или Next.js в вебе, команда на TypeScript, и вам нужны нативные компоненты платформ и быстрые исправления между релизами |
| Flutter | Вам нужен одинаковый, сильно кастомизированный визуал на обеих платформах, и нет существующего кода на React, которым можно поделиться |
| Нативный iOS и нативный Android | Продукт зависит от глубоких возможностей платформы, тяжёлых вычислений на устройстве или расширений, доступных только в Apple или Android |
Для многих бизнес-приложений в ОАЭ разумны и React Native, и Flutter, а решающим фактором становится то, кто будет поддерживать код. На странице разработки мобильных приложений разобраны PWA и выбор в целом.
Процесс, объём и цена
Оценка
Сценарии, план общего кода, нативные модули, проверка правил магазинов по платежам и входу, требования к арабскому языку.
Разработка
Поэтапные development builds на ваших телефонах; монорепозиторий и CI настраиваются в первом этапе.
Тестирование и выпуск
Тестирование на устройствах обеих платформ на обоих языках, отправка в магазины, затем канал обновлений для исправлений после запуска.
Входит: дизайн, код на TypeScript в вашем репозитории, общие пакеты, нативные модули в рамках объёма, настройка EAS и отправка в магазины. Не входит: сборы магазинов и сервисов Expo, оплата сторонних сервисов и дальнейшее сопровождение. Стоимость зависит от сценариев, нативных модулей, объёма уже существующего веб-кода и того, нужно ли создавать бэкенд. Фиксированную цену мы называем после созвона по оценке проекта; калькулятор стоимости даёт первое представление о масштабе.
Вопросы клиентов
Поддерживает ли React Native арабский язык?
Да. Он поддерживает интерфейс справа налево, хотя смена направления во время работы обычно требует перезапуска приложения. Мы планируем переключение языка и проверяем каждый экран в обоих направлениях.
Не окажемся ли мы привязаны к Expo?
Нет. Expo — открытый проект, нативные проекты можно сгенерировать и редактировать, а сервисы EAS необязательны. При желании можно собирать приложение в собственном CI.
Можно ли добавлять новые функции обновлениями по воздуху?
Небольшие улучшения — да. Значимые новые функции и всё, что меняет суть приложения, должно проходить проверку в магазине.
Можно ли переиспользовать компоненты нашего сайта?
Визуальные компоненты — нет, а логику, типы, клиент API и валидацию — да.
Хватит ли производительности?
Для типичных бизнес-приложений — да. Длинным спискам, анимации и тяжёлым экранам нужны правильные библиотеки и профилирование на среднебюджетных Android-устройствах, и мы закладываем это в тестирование.

