週間React Native #19
Tamagui v2 RCがリリース
React Native用のスタイリングとUIライブラリであるTamaguiのv2 RCが公開されました。 v1と比べてパフォーマンスの向上、安定性の向上、メニューなどのコンポーネントの追加など、様々な改善が行われています。 テストも拡充され、より安定したリリースを行えるようになったとのことです。
https://twitter.com/tamagui_js/status/2017312602385486139?s=20
https://tamagui.dev/blog/version-two
VercelがReact Native用のAgent Skillsを公開
v0アプリで培われた経験をもとに、Agent用のSkillsをVercelが公開しました。
https://twitter.com/vercel_dev/status/2016226892333121635?s=20
こちらのReact Native用Agent Skillsについて、私もZennにまとめました。
https://zenn.dev/tellernovel_inc/articles/7bb1facb9cfb4d
EAS buildsが30%高速化
コンパイルに時間のかかるC/C++をccacheでキャッシュすることで、EAS buildのビルド時間が約30%高速化されました。
EAS_USE_CACHE=1オプションを指定すると有効化されます。
https://twitter.com/expo/status/2015912798426169819?s=20
TextFieldの同期的な検証
無効な入力の除外や電話番号のリアルタイムフォーマットなど、入力テキストを同期的に検証することは、これまでのReact NativeのTextInputでは困難でした。 ExpoUIのTextFieldでは、react-native-workletsを活用してJSとネイティブを同期的に呼び出せるようになります。
https://twitter.com/nishanbende/status/2016367516759867849?s=20
ExpoUIを使わない場合でも、公開されているコードで同様の実装が可能です。
https://gist.github.com/intergalacticspacehighway/38daf5a9aff99b1c0384884459dfe0f6
React Native Workletsを使ったReact Nativeのマルチスレッドの活用例
React Native Workletsは、もともとReact Native ReanimatedやReact Native Gesture Handlerで使われており、JSスレッドとは別のスレッドで重い処理を実行できます。 これにより、JSスレッドのボトルネックの影響を受けずにアニメーションなどを行えます。 こちらの記事では、react-native-vision-cameraがReact Native Workletsを活用した事例が紹介されています。
https://twitter.com/swmansion/status/2016907383193084295?s=20
React Navigation 8でイベントのログを表示できるように
React Navigation 8では、DeepLinkやナビゲーションのイベントをloggerデバッグツールで確認できるようになりました。 何が起きているかのデバッグが容易になります。
https://twitter.com/reactnavigation/status/2018103382871781418?s=20
React Native Directory VS Code Extensionの改善
React Native DirectoryのVSCodeのExtensionに、package.jsonへメタデータを表示する機能が追加されました。 インストール済みライブラリの情報確認がしやすくなりそうです。
https://twitter.com/Simek/status/2016090073343590763?s=20
今週のひとこと
Tamaguiの新たなリリースがなかなか来ないなと思っていましたが、突然v2が発表されましたね! 私も一ユーザーとして安定性に課題を感じていたため、v2でそこに焦点が当てられていて安心しました。 v3についても言及されているようで、今後も様々なアップデートがありそうです。