【RN Update 2023年6月】React Native 0.72リリース 他
はじめに
こんにちは!
犬専用の音楽アプリ オトとりっぷでエンジニアしています、足立です!
この記事では、今月のReact Nativeに関連するニュースを紹介します。
目次
- ライブラリ情報
- 【React Native】 v0.72がリリース
- @aws-amplify/pushnotificationが非推奨
- React Native関連情報
- Xamarinの開発終了
ライブラリ情報
【React Native】 v0.72がリリース
メインのアップデートはMetroの設定周りで、「monorepoがやり易くなる」らしいです。
このアップデートの影響として、metro.config.js
の書き方が少し変更になります。
React Native v0.73以降に完全移行するようなので、早めの対応が必要です。
const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
/**
* Metro configuration
* https://facebook.github.io/metro/docs/configuration
*
* @type {import('metro-config').MetroConfig}
*/
const config = {};
module.exports = mergeConfig(getDefaultConfig(__dirname), config);
react-native-svg-transformer
を使われている方は、こちらのIssueにある通り以下の修正になります。
metro.config.js
const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
const defaultSourceExts = require('metro-config/src/defaults/defaults').sourceExts;
const defaultAssetExts = require('metro-config/src/defaults/defaults').assetExts;
/**
* Metro configuration
* https://facebook.github.io/metro/docs/configuration
*
* @type {import('metro-config').MetroConfig}
*/
module.exports = mergeConfig(getDefaultConfig(__dirname), {
transformer: {
babelTransformerPath: require.resolve('react-native-svg-transformer'),
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
resolver: {
assetExts: defaultAssetExts.filter(ext => ext !== 'svg'),
sourceExts: [...defaultSourceExts, 'svg'],
},
});
一方でReact Native v0.69やv0.70も密かにバージョンアップがなされています。
主な対応にcompatible with Xcode 15
とある通り、次世代Xcodeに対応してくれているようで、
とりあえず次世代XcodeにはRN 69以上であれば対応できそうです。
@aws-amplify/pushnotificationが非推奨
AWS Amplify + React Nativeの組み合わせで、Push通知を実装されている方はライブラリの変更が必要になります。
今まで上記の組み合わせでPush通知を実装する場合、iOSとAndroidで別々のライブラリを使用しなければならない問題がありました。今回の変更でライブラリの統一がなされます。
具体的には、@aws-amplify/pushnotification
と@react-native-community/push-notification-ios
が不要になり、@aws-amplify/rtn-push-notification
を導入する必要があります。
詳細は以下のMigrationページをご覧ください。
これによってライブラリの統一がなされると同時に、Push通知を受け取った時のもしアプリがフォアグラウンドにいたら?
みたいな制御が容易になるようです。
また機会があれば、詳細な調査を実施したいと思います。
React Native関連情報
Xamarinの開発終了
先日、Xamarinのサポート終了が発表されました。
今秋リリース予定のiOS17のサポートは行わない方針のようです。
では、Microsoftはどこに行くのでしょうか?
その答えがReact Native公式サイト内にある、Who is using React Native?
に記載されています。
実はMicrosoft OfficeやMicrosoft Outlook、SkypeなどはReact Nativeで作られているんですね。
Microsoft公式の開発ブログにもReact Nativeの欄があり、最近の動向が記載されています。
OSSを基盤とした場合、このようなサポート終了に対してどうしても敏感になります。
これからもReact Nativeの主要なプレイヤーへのウォッチングを続けていきたいと思います。
最後に
ここまで読んでいただきありがとうございました。
もし犬専用の音楽アプリに興味を持っていただけたら、ぜひダウンロードしてみてください!
Discussion