Разбираем ключевые изменения в свежем релизе React Native — от новых требований к инструментам до долгожданной альтернативы CocoaPods.
Разработчики Android и iOS давно привыкли к тому, что каждое крупное обновление React Native — это маленький квест. Но свежий релиз 0.87 бьёт рекорды по количеству изменений, которые сложно игнорировать. Мы заглянули в релизные заметки и вынесли самое важное — чтобы вы не тонули в деталях и сразу понимали, к чему готовиться.
React Native 0.87: строгий TypeScript API, обновлённый Metro и поддержка SwiftPM
С каждой крупной версией React Native команда разработчиков любит подкручивать гайки. Релиз 0.87 — не исключение: строгий React TypeScript API теперь включён по умолчанию. Это значит, что типизация становится обязательной частью разработки, и многие ошибки можно поймать ещё на этапе написания кода, а не в рантайме. Заодно в прошлое уходят глубокие импорты: их фактически заменяют более явные и поддерживаемые пути доступа к внутренностям фреймворка.
SwiftPM, Metro и Android
Изменения коснулись и сборки. Swift Package Manager впервые получил статус полноценной альтернативы CocoaPods — для iOS-разработчиков это долгожданный шаг, ведь управлять зависимостями средствами Xcode теперь можно без лишних танцев с бубном. При этом Metro тоже обновился и вошёл в состав релиза. Правда, апдейт не ограничился приятными бонусами: разработчикам добавили поддержку AGP 9, а минимальные требования к инструментам заметно выросли.
Проще говоря, обновление потребует больше внимания, чем обычный переход на новую версию. Придётся обновить окружение, пересмотреть конфиги и адаптировать проекты под новые правила. Зато дальше жить станет проще — если, конечно, пережить этот переход.
В итоге версия 0.87 оставляет двойственное впечатление: с одной стороны, прогресс налицо — SwiftPM, строгая типизация, свежий Metro. С другой — за все новшества придётся платить временем и нервами при обновлении. Но такова жизнь мобильной разработки. А мы будем следить, как сообщество осилит этот переход.