Зміст
Коротко
Формула «один код для iOS і Android» у 2026 звучить надто просто. На Хабрі — розбір великого застосунку на React Native: спільний шар на TypeScript, New Architecture без застарілого Bridge, нативні шматки там, де потрібні системні API, і чесні межі для допомоги ШІ.
Що сталося
Команда обрала RN не щоб «написати один раз і забути платформи», а щоб тримати спільну продуктову логіку при синхронних релізах на обидві ОС. Поруч із тисячею TS/TSX-файлів живуть Kotlin і Swift: геопозиція, сповіщення push, біометрія, віджети, медіа.
New Architecture уже не експеримент: JSI замість старого моста, Fabric, TurboModules, Codegen; у 0.84 прибрали застарілу архітектуру, Hermes V1 за замовчуванням. Але ввімкнений рендерер сам по собі не прискорює застосунок — довгі задачі в JS і зайві перемальовування нікуди не зникли.
Головне питання автора — не «на чому написано», а де виконується: JS-потік для логіки, нативний UI-потік для кадрів, worklets для жестів, нативні модулі для фону. Наявність Kotlin/Swift не провал кросплатформи, якщо продуктові правила не дублюються. Expo проти збірки bare — вибір обсягу інфраструктури, яку команда готова обслуговувати.
Окремий кейс — клавіатура на складних формах: замість вічної боротьби з KeyboardAvoidingView поле відкриває модалку з простою розміткою. Плюс попередження про різні системні клавіатури (IME) на Android і обов’язковий режим «від краю до краю».
Чому це важливо
Мобільний RN у 2026 — це платформенна інженерія зі спільним продуктовим ядром, а не «React у телефоні». Оновлення версії — маленька міграція Gradle/Xcode/патчів. ШІ корисний у симетрії Android/iOS, Codegen і розборі падінь збірки, але погано вгадує архітектурні межі й сценарії на кшталт клавіатури, якщо дивиться лише на поверхню.
На практиці
- Діліть відповідальність: JS — продукт і мережа, натив — системні API з вузьким контрактом.
- Не вважайте
New Architectureзаміною профілюванню релізної збірки. - Для складних форм розгляньте ізольоване введення (модалка), а не нескінченні
keyboardVerticalOffset. - Ведіть матрицю сумісності RN / React /
Reanimated/ SDK і оновлюйте шарами. - Давайте ШІ задачі на симетрію реалізацій і патчі, а межі шарів лишайте людям.
Підсумок
React Native лишається робочим вибором, коли спільна логіка велика, а натив — локальний і контрактний. Успіх у 2026 вимірюється синхронними релізами й контрольованими відмінностями платформ, а не відсутністю Kotlin і Swift у репозиторії.

