【Expo SDK 41】Highlightsをdeepl翻訳


### Highlights
>Android apps now target Android R (11 / SDK 30). This comes with some significant changes for location permissions, media library (related to StorageAccessFramework), and constants. Please note that these changes also impact SDK <= 40 projects in Expo Go, but they will not impact SDK <= 40 standalone apps. Refer to expo.fyi/android-r for more information.

Androidアプリは、Android R (11 / SDK 30)をターゲットにしています。これに伴い、ロケーションパーミッション、メディアライブラリ(StorageAccessFramework関連)、および定数に重要な変更があります。これらの変更は、Expo GoのSDK <= 40プロジェクトにも影響しますが、SDK <= 40のスタンドアロン アプリには影響しませんのでご注意ください。詳細は expo.fyi/android-r を参照してください。

>The recommended version of react-native-reanimated has been updated to v2. If you would like to use v2 features in your app, you need to add the Reanimated v2 Babel plugin. You can continue to use v1 features (eg: those used by React Navigation v5) without adding the new Babel plugin. Please note that if you use the new features from v2, you will not be able to use remote JS debugging in your app! If you use v2 APIs, JS debugging is only possible using Flipper and Hermes, which are not yet fully supported in the managed workflow. (We plan to investigate integrating Hermes during the next SDK cycle, but we don't currently expect to have it ready for SDK 42.)

react-native-reanimatedの推奨バージョンがv2に更新されました。 v2の機能をアプリで使用したい場合は、Reanimated v2のBabelプラグインを追加する必要があります。新しいBabelプラグインを追加しなくても、v1の機能（例：React Navigation v5で使用されている機能）を引き続き使用することができます。v2の新機能を使用した場合、アプリでリモートJSデバッグを使用することができませんのでご注意ください。v2のAPIを使用する場合、JSのデバッグはFlipperとHermesを使ってのみ可能ですが、これらはまだマネージドワークフローでは完全にサポートされていません。(次のSDKサイクルでHermesの統合を検討する予定ですが、現時点ではSDK 42には間に合わない見込みです。)

>lottie-react-native has been updated to the latest version (3.5.0). Your existing animations should continue to work as before, but if you encounter any issues please file an issue and share the animation file.
The new version of react-native-screens (v3) “enables screens” by default. If you encounter any related issues, you can report the issue and opt out with enableScreens(false). Be sure to update to the latest v4 patch release of React Navigation if you use v4.

lottie-react-nativeが最新バージョン(3.5.0)にアップデートされました。既存のアニメーションはこれまで通り動作しますが、問題が発生した場合は、問題を提起し、アニメーションファイルを共有してください。
新バージョンのreact-native-screens (v3)では、デフォルトで「スクリーンを有効にする」ようになっています。もし関連する問題が発生した場合は、問題を報告し、enableScreens(false)でオプトアウトすることができます。React Navigationのv4を使用している場合は、必ず最新のv4パッチリリースにアップデートしてください。

>Improvements were made across the SDK to ensure compatibility with EAS Build. A big part of this SDK has been making the necessary underlying changes to support EAS Build for managed projects. You can now use EAS Build with Expo managed apps to reduce the size of your standalone apps by up to 10x! Learn more about the latest EAS Build updates.

EAS Buildとの互換性を確保するために、SDK全体で改善が行われました。このSDKの大部分は、管理されたプロジェクトのEAS Buildをサポートするために必要な基本的な変更を行っています。ExpoのマネージドアプリでEAS Buildを使用して、スタンドアロンアプリのサイズを最大10倍に縮小できるようになりました。EAS Buildの最新アップデートについてはこちらをご覧ください。

>The expo package is now 93% smaller in production and better than ever. We've simplified the experience so the .expo extension is no longer needed (and so we removed it), and neither is the --target bare|managed flag — updates will run in either context provided the native runtime is compatible. We've improved consistency across the managed and bare workflow, removed legacy code, and improved tree-shaking on the package using @expo/metro-config.

Expoのパッケージは、製品のサイズが93%縮小され、これまで以上に優れたものになりました。また、--target bare|managed フラグも必要ありません。ネイティブランタイムに互換性があれば、アップデートはどちらのコンテキストでも実行されます。マネージドとベアのワークフローの一貫性を高め、レガシーコードを削除し、@expo/metro-configを使ったパッケージのツリーシェイクを改善しました。

>To see the full list of new features and fixes, refer to the changelog!

新機能と修正点の全リストは、changelogをご覧ください。
https://github.com/expo/expo/blob/master/CHANGELOG.md#4100--2021-03-10

https://blog.expo.io/expo-sdk-41-12cc5232f2ef