React Native 0.68の発表
皆さん、こんにちは!本日、React Native 0.68.0のリリースを発表します。このバージョンでは、新しいReact Nativeアーキテクチャへのオプトイン、バグ修正などが含まれています。
セクション
0.68のハイライト
Andrei Calazansが、0.68がもたらす最も関連性の高い変更点の選定を手伝ってくれました
破壊的変更とバージョンアップ
このバージョンにはいくつかの破壊的変更が含まれています
- React Nativeは最新のLTSであるNode 16に更新されました。CIでLTSと以前のLTSをテストしているため、この変更は、ユーザーがNodeのバージョンを14以上にする必要があることを意味します。
- Android Gradle Pluginは7.0.1に更新され、AndroidビルドにはJDK 11が必須となりましたので、設定をアップグレードしてください(IntelおよびM1 Macの両方で
zulu11JDKフレーバーを使用することをお勧めします) - iOSの
RCTBundleURLProviderAPIからfallbackResourceを削除しました。このパラメーターは、置き換えなしにメソッド呼び出しから安全に削除できます。
ツールも更新されました - 主なバージョンアップは以下の通りです
- @react-native-community/cli が 7.0.3 に
- Metro が 0.67 に
- react-devtools-core の依存関係が 4.23.0 に
- Flipper が 0.125.0 に
- react-native-codegen が 0.0.9 に
- Kotlin が 1.6.10 に
- Soloader が 0.10.3 に
- Gradle が 7.3 に
- Android のコンパイルおよびターゲット SDK が 31 に
また、Nicola Cortiによるこのコミットのおかげで、Android Gradle PluginがNDKのデフォルトバージョンを自動的にダウンロードするようになり、別途指定してインストールする必要がなくなりました。
その他の改善点
このリリースには他にも多くの変更や修正が含まれていますが、その中で興味深いと思われるものをいくつか紹介します。
- Gijs Weteringsは、モーダルのE2Eターゲットを容易にするため、testIDをRCTModalHostViewに転送する問題を修正しました。
- Liam Jonesは、
console.errorを呼び出すとRedBoxがLogBoxと同時に表示される問題を修正しました。 - Sam Klineは、Androidの開発モードでBundleDownloaderの失敗後に表示される空白画面の問題を修正しました。
- Jeffrey Hyerは、KeyboardAvoidingViewが
onLayoutプロパティで期待通りに動作しない問題を修正しました。
変更点の全リストに興味がある場合は、こちらのリンクの変更ログで読むことができます。
謝辞
このリリースには、68人のコントリビューターによる614のコミットが含まれています!皆様に感謝いたします!
また、安定版0.68.0リリース前にリグレッションの発見に協力してくれたリリーステスターとサポーターにも感謝したいと思います。皆様は、このリリースの成功にとって非常に貴重です!
あなた、あなたのアプリ、またはあなたの会社が「リリーステスター」プログラムへの参加に興味がある場合は、こちらからサインアップできます。
新しいアーキテクチャへのオプトイン
前述したように、React Native 0.68は、FabricレンダラーとTurboModuleシステムへのオプトインサポートを備えた最初のバージョンです。これは、新しいReact Nativeアーキテクチャの展開における重要なマイルストーンとなります。変更点に慣れていただくために、新しいシステムの内部に関するいくつかの詳細なガイドが掲載されている、ウェブサイトにアーキテクチャセクションを追加しました。
同時に、ドキュメントに移行ガイドを追加し、新しいアーキテクチャに特化したワーキンググループを発足させました。オプトイン方法を含む詳細については、以前のブログ記事をご覧ください。
新しいアーキテクチャはまだ微調整が必要です。依存しているサードパーティライブラリの一部はまだ移行されていない可能性があり、まだ発見されていない問題に遭遇するかもしれません。もしそうなった場合は、新しいアーキテクチャワーキンググループに報告してください。
React 18について: React Native 0.68はReact 18の新しいレンダリングエンジンをサポートしていません。これは将来のバージョンで対応されます。これは、React 18がReact 18の発表ブログ記事で紹介された新しい機能を活用するために新しいアーキテクチャに依存しているためです。詳細については、こちらのReact Conf基調講演をご覧ください。
ウェブサイトの更新
メインのコードベースの改善と並行して、Simek、Megatron4537、slorberの協力により、ウェブサイトにも多くの改善が施されました!特に、トップツールバーの新しいセクションからReact Nativeに貢献する方法を学ぶことができるようになりました。さらに、「貢献」セクションと新しい「アーキテクチャ」セクションはバージョン管理されていません。これらのセクションのコピーは、React Nativeのバージョンごとに1つではなく、現在1つしかありません。

