Expo недавно выпустили обновление SDK 51, которое включает несколько значительных улучшений и новых функций.
Новый шаблон проекта по умолчанию и руководство по началу работы
При создании нового проекта с помощью команды npx create-expo-app
пользователь увидит обновленный шаблон проекта. В нем включены часто используемые зависимости и настройки, необходимые для большинства проектов, что позволяет быстро начать работу.
Кроме того, обновлен процесс "Getting Started" с Expo, что упрощает старт как с Expo Go, так и с development сборками. Эти изменения призваны облегчить освоение работы с Expo и ознакомление с доступными опциями.
"Next" Camera и SQLite API теперь используются по умолчанию
expo-camera/next
теперь экспортируется из expo-camera
(подробнее), а expo-sqlite/next
теперь экспортируется из expo-sqlite
(подробнее). Старые версии доступны вexpo-camera/legacy
и expo-sqlite/legacy
в SDK 51, и они будут удалены в SDK 52.
// New APIs (SDK 50)
import { CameraView } from 'expo-camera/next';
import * as SQLite from 'expo-sqlite/next';
// New APIs (SDK 51): if you import the next packages in your app, update the
// imports to the following:
import { CameraView } from 'expo-camera';
import * as SQLite from 'expo-sqlite';
// Legacy APIs (SDK 50)
import { Camera } from 'expo-camera';
import * as SQLite from 'expo-sqlite';
// Legacy APIs (SDK 51): if you import the legacy packages in your app, update
// the imports to the following:
import { Camera } from 'expo-camera/legacy';
import * as SQLite from 'expo-sqlite/legacy';
Представлены expo-symbols
expo-symbols
в настоящее время представляет собой пакет только для iOS, который обеспечивает доступ к библиотеке SF символов, коллекции из более чем 5000 значков с различными масштабами и поддержкой анимации. Узнать больше.
Expo Router v3.5
Большинство изменений в последней версии Expo Router направлены на исправление ошибок и улучшения, основанные на отзывах сообщества. Вот некоторые из изменений:
Поддержка сегмента # в URL через
const { "#": hash } = useLocalSearchParams()
.Добавлены новые функции маршрутизатора для закрытия маршрутов:
router.dismiss()
, .dismissAll()
и .canDismiss()
.Удалены объекты ExpoRequest и ExpoResponse в пользу встроенных объектов Request/Response, соответствующих стандарту WinterCG.
Поддержка платформенно-специфичных расширений для маршрутов и файлов _layout (также требуется платформонезависимая версия).
Поддержка обработки переписывания URL для deeplink.
Улучшения для Typed Routes.
Параметр href в Typed Routes больше не является обобщенным.
Исправлены проблемы с поддержкой
experiments.baseUrl
в веб-версии.
EAS Update: обновленный веб-интерфейс и новая страница предварительного просмотра
В SDK 50 была добавлена поддержка "постепенных развертываний": теперь можно постепенно выпускать обновления для определенного процента пользователей, чтобы уменьшить риск случайного внедрения ошибки в рабочую среду. Ранее эта функция была доступна только в EAS CLI, а теперь появился удобный веб-интерфейс для создания и управления развертываниями.
Кроме того, обновлен веб-интерфейс для открытия и совместного использования обновлений с командой. На странице деталей обновления нажмите кнопку "Предпросмотр" в правом верхнем углу, чтобы открыть модальное окно предпросмотра.
Expo Go: прекращена поддержка SDK 49 и 50
Версии Expo Go в Play Store и App Store теперь поддерживают только SDK 51. Если ваш проект использует SDK 49 или 50, вы все еще можете использовать Expo CLI или сайт expo.dev/go для установки подходящей версии Expo Go для вашего проекта.
Единая версия SDK в Expo Go
Как было объявлено в SDK 50, начиная с SDK 51, Expo Go будет поддерживать только одну версию SDK одновременно. Это означает, что новая версия Expo Go, поддерживающая SDK 51, которая выйдет в App Store и Play Store, будет поддерживать исключительно SDK 51. Поддержка SDK 50 и ниже прекращена. Приложение Expo Go продолжит служить отличной платформой для быстрого начала работы и экспериментов с идеями, однако для гибкой и мощной среды разработки, подходящей для реальных приложений, рекомендуется использовать development builds.
Для упрощения установки конкретной версии Expo Go был создан сайт expo.dev/go, который позволяет легко установить совместимую версию Expo Go на вашу целевую платформу. Это работает на устройствах Android и эмуляторах, а также на iOS-симуляторах, но из-за ограничений платформы iOS на физических устройствах iOS можно использовать только последнюю версию Expo Go.
Полный список изменений доступен на сайте.