📒
React Native 0.73のReleaseNoteのまとめと新しいデバッガーの確認
こんにちは、元々React Native製のアプリを作っていたところから、転職して今はWebアプリの開発をしているまっつんです。
今回はReact Nativeアドベントカレンダー2023の25日目の記事です。
久しぶりにReact Nativeを触ってみるので、Release Noteでも読んで気になるところをまとめてみようと思いました。
また、デバッグに関しては以前開発している時はFlipperを使っていて、新しいデバッグツールが出たというreleaseだったので、公式ドキュメントから立ち位置を探ってみました。
React Native 0.73 リリースノート
Debugging Improvements
- Hermes engineが全てのconsole.logをキャプチャー
- デバッガーが接続されたら、コンソールタブに送られる
- 今までのReact Nativeだとconsole.logはデバッガーに接続してからじゃないと記録されなかった
- これらはFlipper, Chrome devtools、新しいデバッガーで動作する
- Debugging部分のドキュメントをアップデート
https://reactnative.dev/docs/debugging - 新しい実験的なデバッガー登場
- Flipperを置き換える予定!!
- ということなんで一番下で使ってみました
Stable Symlink Support in Metro
- 0.72でbetaサポートされたSymlinkサポートがデフォルトで設定
Kotlin Template on Android
- AndroidのアプリをReact Nativeで書くときにKotlinが推奨言語となった!
- MainActivityやMainApplicationをkotlinファイルに置き換え
- .javaファイルを.ktファイルにアップデートするヘルパーも提供
Android 14 Support
- Android14にフルサポート
- API Level 34(Upside Down Cake)
- ↑のために、Android Gradle Pluginのバージョンを上げた
- Java17がAndroidのアプリのビルドに必要になったので、バージョンをあげる必要あり
- JAVA_HOMEもアップデート
その他
- React Nativeの新アーキテクチャの機能、ブリッジレスモードの紹介
- Experimentalですが興味があれば使ってフィードバックしてねとのこと
https://github.com/reactwg/react-native-new-architecture/discussions/154
- Experimentalですが興味があれば使ってフィードバックしてねとのこと
- テンプレートがTypeScript 5.0を使用
新しいデバッグツールを使ってみる
自分の記憶が正しければ、以前はFlipperを使って通信のレスポンスを見たりしていて開発には必須だった覚えがあり、これを今後置き換えていくなら使う必要があるだろうと思いました。
現在のMacは以前のMacとは異なり、Pure React Nativeの開発環境を整えていなかたので、Expoで。
Expoのbeta版がreact-native0.73を使っているので試したところ、以下のようなログが出てしまい、デバッガーが起動しませんでした。
Debug: No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine. Learn more
Expoと戦っても面倒なので、Pure RNの環境を整えて(なんか昔より楽になったような・・・)、起動
yarn start --experimental-debugger
// yarn無ければ
// npx react-native start --experimental-debugger
// metroのいつもの画面が出たらjボタンを押す
ものすごいChromeの検証画面に似た画面が出てきて安心感があります。また、console.log, console.errorなども良い感じに表示されるし、見やすいなという印象。
が、現在のものだとNetworkタブがないので、どうしても通信を行うアプリのデバッグにはFlipperなどを使う必要があるのかなと思いました。今後のアプデに期待。(もしできたら教えてください🙇)
Discussion