ПОСЛУГА

React Native розробка: один код для iOS та Android

OXIOS займається React Native розробкою кросплатформних застосунків на Expo і TypeScript. Одна кодова база працює на iOS та Android, нативні модулі закривають те, чого не вміє JavaScript, а якщо вашому продукту краще підійде нативна розробка — ми скажемо про це одразу.

  • React Native
  • Expo
  • TypeScript
  • Reanimated
  • Firebase

Що ви отримуєте

01

Дешевше для двох платформ

Більша частина коду — екрани, бізнес-логіка, запити до API — спільна для iOS та Android, тож кожну функцію пишемо один раз і тестуємо на обох.

02

Швидші релізи

Збірки Expo та оновлення «по повітрю» дають змогу випускати виправлення JavaScript-коду без повного релізу в магазинах — у межах їхніх правил.

03

Нативно там, де це важливо

Камера, геолокація у фоні, Bluetooth, аудіо на заблокованому екрані: коли функції потрібні API платформи, беремо перевірені нативні модулі або пишемо власні.

04

Спільні навички з вебкомандою

React Native використовує React і TypeScript, тож веброзробники розуміють код, а бізнес-логіку можна ділити з вебзастосунком на React чи Next.js.

Що ми створюємо

Нові кросплатформні застосунки

Застосунки для iOS та Android з нуля на React Native, Expo і TypeScript — разом із бекендом і адмінпанеллю.

Нативні модулі й інтеграції

Власні модулі на Swift і Kotlin або config plugins для Expo — для функцій пристрою, SDK та обладнання, під які немає готової бібліотеки.

Оптимізація швидкодії

Профілювання повільних екранів, довгих списків і анімацій, винесення важких обчислень із JavaScript-потоку, плавні анімації на Reanimated.

Оновлення версій і перехід на Expo

Переведення старих проєктів на актуальні версії React Native і Expo SDK, New Architecture та сучасні інструменти збірки.

Оновлення «по повітрю» та CI

Налаштування EAS Build і EAS Update, окремі канали для тестування й продакшну, автоматичні збірки для обох магазинів.

Аудит і передача наявних застосунків

Перевірка вашого React Native застосунку: архітектура, залежності, збої, швидкодія — і план, як виправити або продовжити розробку.

Як ми працюємо

  1. 01

    Аналіз і технічна перевірка

    Проходимо список функцій і перевіряємо кожну функцію пристрою на підтримку в React Native та Expo, щоб посеред проєкту не було сюрпризів.

  2. 02

    UX/UI дизайн

    Прототипи у Figma з урахуванням правил iOS та Android і єдиною дизайн-системою для обох платформ.

  3. 03

    Розробка

    Двотижневі спринти з щоденними синками. Після кожного — демо й тестові збірки для обох платформ.

  4. 04

    Тестування на реальних пристроях

    Перевірка на різних iPhone та Android-смартфонах, зокрема на старих і бюджетних, де проблеми зі швидкодією проявляються першими.

  5. 05

    Реліз і підтримка

    Публікація в магазинах, налаштування оновлень «по повітрю», моніторинг і регулярні оновлення React Native та Expo.

Коли React Native розробка — правильний вибір, а коли ні

React Native дає змогу одній команді написати застосунок один раз і запустити його на iOS та Android. Інтерфейс складається зі справжніх нативних компонентів, а не з вебсторінки в обгортці, тож застосунок виглядає й поводиться як будь-який інший мобільний застосунок. Для більшості продуктів — бронювання, доставка, маркетплейси, медицина, освіта, внутрішні інструменти — React Native розробка зменшує вартість другої платформи без компромісів, які помітив би користувач.

За замовчуванням працюємо з Expo. Він бере на себе збірки, підписування, push-сповіщення й оновлення «по повітрю», а config plugins дають змогу додавати нативний код, не відмовляючись від цієї зручності. Коли функції потрібне те, чого Expo не покриває, — SDK обладнання, конкретний Bluetooth-пристрій чи нестандартне фонове завдання, — пишемо нативний модуль на Swift або Kotlin. У Tropa, застосунку для самостійних екскурсій, маршрути працюють офлайн, а аудіогід грає навіть на заблокованому екрані. У Golden Nest нагадування й підписки через вбудовані покупки мали надійно працювати в обох магазинах. Crypto Cado, що винагороджує здорове харчування криптотокенами для оплати в партнерських кафе, додає відстеження прогресу й соціальні челенджі на спільній кодовій базі.

Проблеми зі швидкодією в React Native зазвичай мають кілька джерел: довгі списки без віртуалізації, зайві перерендери, важкі обчислення в JavaScript-потоці та анімації, що не працюють у UI-потоці. Ми профілюємо застосунок на реальних Android-смартфонах середнього класу, а не лише на нових iPhone, бо саме там гальмування з'являються першими, і спершу прибираємо найбільші причини.

React Native підходить не завжди. Якщо застосунок побудований навколо 3D-графіки чи ігор, обробки відео або аудіо в реальному часі, AR чи нових функцій платформи в день їхнього виходу, краще може підійти нативна розробка або ігровий рушій. Ми порівнюємо варіанти в статті React Native чи нативна розробка і на етапі оцінки скажемо, чи належить ваша ідея до цієї групи. Щоб перевірити, чи підходить React Native вашому продукту, надішліть нам опис.

Часті запитання

Чи підходить React Native для серйозних продуктів?

Так. На React Native працює багато великих споживчих застосунків, а фреймворк розвиває Meta разом із широкою спільнотою. New Architecture покращила рендеринг і взаємодію з нативним кодом. На практиці якість застосунку набагато більше залежить від того, як його зроблено — керування станом, списки, анімації, нативні модулі, — ніж від самого фреймворку. Більшість бізнесових застосунків ніколи не впираються в його обмеження.

Наскільки React Native дешевший за нативну розробку?

Оскільки більшість коду спільна, ви зазвичай не платите за розробку й підтримку двох окремих застосунків, а це часто відчутна частина бюджету порівняно з двома нативними командами. Точна економія залежить від того, скільки функцій потребують окремої роботи під кожну платформу: що більше нативного коду, то менша різниця. Порівняння для вашого списку функцій ми показуємо в оцінці.

Що таке Expo і чи завжди ви його використовуєте?

Expo — набір інструментів поверх React Native, що бере на себе збірки, підписування, push-сповіщення, оновлення «по повітрю» та доступ до багатьох API пристрою. На нових проєктах ми використовуємо його за замовчуванням, бо він пришвидшує розробку й релізи. Завдяки config plugins і development builds Expo не заважає додавати власний нативний код, тож функції він блокує рідко.

Коли в React Native потрібні нативні модулі?

Коли функція залежить від API платформи чи стороннього SDK, для якого немає підтримуваної бібліотеки React Native: конкретні Bluetooth-пристрої, нестандартні фонові завдання, деякі платіжні SDK чи SDK обладнання, складна обробка медіа. Ми перевіряємо це ще на етапі аналізу. Написати нативний модуль на Swift або Kotlin — звичайна частина роботи, а не привід відмовлятися від React Native.

Чи можете ви пришвидшити наш React Native застосунок?

Так. Спершу профілюємо застосунок на реальних пристроях і шукаємо справжню причину гальмувань: рендеринг списків, зайві перерендери, великі зображення, важка робота в JavaScript чи анімації не в тому потоці. Потім виправляємо найбільші проблеми й міряємо знову. Часто частиною плану стає оновлення до актуальних версій React Native та Expo.

Чи можна оновлювати React Native застосунок без App Store?

Зміни в JavaScript-коді та ресурсах можна доставляти «по повітрю» через EAS Update — це зручно для термінових виправлень. Зміни в нативному коді, дозволах чи функціональності, які правила магазинів вважають суттєвими, усе одно потребують звичайного релізу. Ми налаштовуємо окремі канали оновлень для тестування й продакшну, щоб до користувачів не потрапляло нічого неперевіреного.

Галузі

НАСТУПНИЙ КРОК

Обговорімо ваш проєкт

Розкажіть, що хочете створити. Протягом робочого дня ми надішлемо рекомендований обсяг MVP, орієнтовні терміни, склад команди та діапазон бюджету.