Кроссплатформенная разработка мобильного приложения на React Native

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Кроссплатформенная разработка мобильного приложения на React Native
Сложная
от 2 недель до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Кроссплатформенная разработка мобильного приложения на React Native

С выходом React Native New Architecture (Fabric + JSI + TurboModules) в продакшене с RN 0.71+, архитектура стека изменилась радикально. JSI (JavaScript Interface) заменил асинхронный bridge синхронным C++ интерфейсом — нативные модули теперь вызываются напрямую из JS без сериализации через JSON. Fabric переписал рендерер с нуля: UI-дерево строится через C++ Shadow Tree, а не через отдельный поток Native UI thread по старой схеме.

На практике это означает, что приложения на RN 0.73+ с включённой New Architecture ведут себя иначе, чем написанные год назад — часть старых библиотек без поддержки TurboModules просто не заработает или потребует enableLegacyBridge. При старте нового проекта мы всегда используем New Architecture; при миграции существующего — аудит зависимостей обязателен.

Где проявляются реальные сложности

Metro bundler и экзотические зависимости. Если в проекте есть native modules с кастомными C++ расширениями, Metro не справляется с resolve без правок metro.config.js. Типичный краш: Unable to resolve module при наличии симлинков в monorepo — решается через resolver.unstable_enableSymlinks: true + watchFolders.

Анимация. Animated API работает через JS-поток — при нагрузке на event loop анимация дёргается. Правильный ответ: react-native-reanimated 3.x с worklets, которые выполняются на UI thread напрямую через JSI. react-native-gesture-handler вместо базового TouchableOpacity — только так жесты обрабатываются нативно без задержки 16ms на JS bridge.

Видели краш на Android 13 в приложении доставки: react-native-camera не обрабатывала новые разрешения READ_MEDIA_IMAGES (заменили устаревший READ_EXTERNAL_STORAGE). Пришлось переходить на react-native-vision-camera 3.x — она поддерживает Camera2 API и Skia Frame Processors для real-time обработки кадров.

Шрифты и RTL. Кастомные шрифты через react-native-fonts ломают layout при RTL-локалях (арабский, иврит), если не выставлен I18nManager.allowRTL(true) и не протестированы Flexbox-стили с start/end вместо left/right.

Стек и архитектурные решения

State management: Zustand для простых проектов, Redux Toolkit + RTK Query для сложных. Redux Saga используем только в командах с уже накопленной экспертизой — новый код на Saga писать нецелесообразно. MobX — там, где много взаимозависимых реактивных состояний.

Навигация — React Navigation 6.x с нативными стеками (@react-navigation/native-stack через react-native-screens). Expo Router подходит для Expo-managed проектов с file-based routing.

Для проектов с Expo — SDK 50+, EAS Build для CI/CD вместо локальной сборки. EAS Submit автоматизирует загрузку в App Store Connect и Google Play Console. Для bare React Native — Fastlane + GitHub Actions.

Локальное хранилище: MMKV (через react-native-mmkv) вместо AsyncStorage — синхронный, быстрый, написан на C++. Для реляционных данных — WatermelonDB с lazy loading, подходит для оффлайн-first приложений с синхронизацией.

Кейс. Маркетплейс с 40+ экранами, real-time чат через WebSocket, платежи через Stripe (@stripe/stripe-react-native). Рендеринг длинных списков — FlashList от Shopify вместо FlatList: FlatList при 500+ карточках давал jank на mid-range Android, FlashList со своим recycler решил проблему. OTA-обновления — react-native-code-push для хотфиксов без релиза в сторы. Crash-репортинг — Firebase Crashlytics через @react-native-firebase/crashlytics.

Тестирование

Unit-тесты — Jest + @testing-library/react-native. Component-тесты: render + fireEvent + snapshot для критичных компонентов. E2E — Detox (рекомендуем) или Maestro. Detox требует настройки под каждую платформу, но даёт надёжные тесты на реальных симуляторах.

Анализ производительности — react-native-performance + Flipper с плагином Performance Monitor. Для профилирования JS — Chrome DevTools через Metro debugger.

Сроки и объём

Масштаб Ориентировочные сроки
MVP, до 10 экранов, REST 6–10 недель
Продукт с авторизацией, картами, пушами 3–5 месяцев
Комплексная платформа: чат, платежи, оффлайн 6–12 месяцев

Стоимость рассчитывается индивидуально по ТЗ. После аудита требований фиксируем scope, стек и этапы.