Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

29.05.2023

Як апгрейдиться React Native

Сьогодні апгрейдив React Native, бо стара версія (ну як — стара? минулого року) відмовилася компілюватися на XCode 14.3. До речі, гарна метрика зрілості технології — наскільки довго старі версії продовжують працювати без підтримки.

Кожному, хто працює з RN, обовʼязково треба знати про React Native Upgrade Helper. Це утиліта, яка порівнює код демонстраційного додатка з різних версій React Native. Вона незамінна для впровадження базових змін в коді, від нових версій бібліотек до коментарів з розʼясненнями. (Однак редагувати ваш код доведеться вручну.)

Цього разу після заміни версій пакетів yarn install не зміг завершити роботу за браком памʼяті. Збільшення виділеної йому памʼяті (корисна команда: env NODE_OPTIONS="--max-old-space-size=8192" yarn) тільки робило агонію довше, але так само не призводило до успіху.

Тому спробував оновлювати поступово, одна мінорна версія за іншою. Це допомогло. Для останньої версії також довелося оновлювати по одному пакету за раз. Але, в решті решт, все оновилось.

Потім ще цікаві ручні оновлення React-Native-Navigation та React-Native-Firebase; обидві бібліотеки мають глибоку інтеграцію в додаток та тому потребують редагування коду на Objective C.

Окрім банальної сумісності з поточною версією XCode, я також отримав так звану “нову архітектуру”, хоча поки не знаю, що це дає на практиці. Як бачите, React Native ще серйозно розвивається. Це з одного боку добре — бо проєкт є успішним, попри те що багато людей його зневажають. А з іншого боку — про стабільність можна тільки мріяти.