週刊React Native #26
Brownieでネイティブ・React Native間の型安全な状態共有
React Nativeのbrownfieldアプリ(既存のネイティブアプリ内にReact Nativeを組み込むようなアプリ)向けに、型安全に状態を共有する方法が紹介されています。
デモではReact Nativeからカウントをインクリメントするとネイティブ側にもリアルタイムに同期されて表示される様子が確認できます。
https://twitter.com/callstackio/status/2038973585658622104
Unistyles 3.2.0で実運用向けの改善
Unistyles 3.2.0では、C++側で保持されたjsi::Runtimeの削除やSuspenseツリーへの対応が入りました。
dropShadow対応など、その他にもいくつかの改善が含まれています。
https://twitter.com/jpudysz/status/2039294938634973213
React Native Reanimated v4.3.0が公開
SVGのCSSアニメーション対応や、マルチスレッドでのアニメーション制御が容易になるなど、いくつかの新機能が追加されました。
https://twitter.com/swmansion/status/2036855946157212151
React Native Header Motion v1が公開
スクロールに応じたヘッダーアニメーションを簡単にアプリに組み込める、React Native Header Motionのv1が公開されました。
タブがある場合などは実装が面倒だったりするので、こちらのライブラリはありがたいですね。
https://twitter.com/O_Pawica/status/2039340711246430521
react-native-fast-confetti v2が公開
APIをコンポジションパターンに書き直し、物理演算も一から再構築されました。
これによりAPIがシンプルになり、より自然なアニメーションが実現されました。
https://twitter.com/alireza_hadjar/status/2038618570695819719
Expo UIの活用例: テキストのアニメーションをSwiftUIで行う
Expo UIでSwiftUIのTextコンポーネントを使い、手軽にテキストのアニメーションを設定できます。
iOS以外ではフォールバックが必要ですが、Expo UIによって簡単にネイティブのUIを扱えるようになったのは良いですね。
https://twitter.com/pugson/status/2038080952459559346
ブラウザ上でReact Nativeを実行できる、reactnative.runが公開
React Native向けのVibeCodingが行えるサービスを提供しているRapidNativeから、ブラウザ上でReact Nativeを実行できるreactnative.runが公開されました。
Expo Snackのようなツールを自分でホストしたり、RapidNativeのようなVibeCodingアプリを作りたいときに良いかもしれませんね。
https://twitter.com/sanketsahu/status/2037225889247920315
react-native-enriched-markdownでContextMenuをサポート
react-native-enriched-markdownにcontextMenuItems Propsが追加されました。
これにより、テキスト選択時にカスタムアクションを実行できるようになります。
https://twitter.com/G_Moskaliuk/status/2038952590961000782
React NavigationでSplitViewに対応予定
React NavigationでiOSのSplitViewに対応する予定とのことです。
https://twitter.com/reactnavigation/status/2038933607176130902
react-native-reshuffled v0.2.0が公開
ドラッグ&ドロップにも対応した高機能なGridレイアウトライブラリであるreact-native-reshuffledのv0.2.0が公開されました。
Nitro Modulesやreact-native-workletsを活用し、高いパフォーマンスを実現しています。
https://twitter.com/wiktorgut_/status/2036719872244097391
次期バージョンのagent-deviceで画面外の要素をエージェントに渡さないように改善
次期バージョンのagent-deviceでは、画面外の要素を除外してエージェントに情報を渡すようになります。
これにより次のようなメリットがあります。
- アプリ探索時のエラー率の低下
- 長いリストでのトークン使用量を最大80%削減
- エージェントの動作がより人間らしくなる
https://twitter.com/thymikee/status/2039409745870606492
今週のひとこと
ここ最近はRozeniteとagent-deviceが開発の必需品となってきました。
Rozeniteもagent-deviceも開発が活発で、どんどん便利になってきていますね!