· #47
週刊React Native #47 RN日本語入力の下線不具合が修正、Expo Mapsが安定版に、Nitro Modules v1 Node.js対応ほか
React Native 0.88.1にて日本語入力等の下線表示不具合が修正#
React Native 0.88.1において、テキスト入力時に未確定文字列の下線部が表示されない問題が修正されました。 https://twitter.com/kazutoyo/status/2117849862364598636
Expo Mapsライブラリが安定版としてリリース#
Expo公式より、Expo Mapsライブラリが安定版(stable)に達したことが発表されました。 クロスプラットフォームで動作するネイティブマップ機能が提供されます。 https://twitter.com/expo/status/2117407396897419314
Nitro Modules v1がNode.js上で動作可能に#
Nitro Modules v1がNode.js環境に対応しました。 React Native向けのネイティブモジュールを、シンプルなNode.jsプロジェクトとして開発・検証できるようになります。 https://twitter.com/birch_js/status/2114726433734156536
Expo OTAアップデートにおけるワンステップロールバック機能#
Expo公式より、OTA配信したアップデートに問題があった場合に直前の正常な状態へ1ステップで戻せるロールバック機能が紹介されました。 https://twitter.com/expo/status/2114352156522463555
Unistyles 3.8.0がリリース、Babel変換ゼロの構成をサポート#
Unistyles 3.8.0がリリースされ、Babelプラグインによるコード変換が一切不要なZero Babel transforms構成がサポートされました。 https://twitter.com/jpudysz/status/2117249399114117544
Skia上でYoga Flexboxを実現するreact-native-skia-layoutが登場#
Skiaのキャンバス描画にYogaのFlexboxエンジンを統合するreact-native-skia-layoutが公開されました。 これまで自前で座標計算が必要だった折り返しレイアウトなどを、Flexboxのルールに基づいて自動配置できるようになります。 https://twitter.com/ReactNativeRwd/status/2117189234272391595
react-native-screens v5のForm Sheetで背景エフェクトに対応#
react-native-screens v5のフォームシートにおいて、背景エフェクト(background effects)が新たにサポートされました。 https://twitter.com/kmichalikk/status/2116160694349598747
Expo UI 58.0.23にてList.ForEachの行再利用に対応#
@expo/[email protected] がリリースされ、List.ForEachコンポーネントで行の再利用(row recycling)がサポートされました。
https://twitter.com/expo_devlog/status/2115044743486771501
React Nativeでテキスト更新とタッチ処理のパフォーマンスを大幅に改善するPRが提案#
Androidでアクセシビリティデリゲートの再構築を廃止することでテキスト更新が21〜28%、iOSでも測定キャッシュの共有によりテキスト更新が22〜27%高速化するPRが提案されています。 Androidのタッチイベントについてもネイティブ側でペイロードを構築する改修が提案されており、マージされれば31%の高速化が見込めるとのことです。 https://twitter.com/G_Moskaliuk/status/2115404694444982465
750以上のモバイルUIブロックを提供するNative Cookが公開#
React Native、Swift、Kotlinに対応した750以上のモバイルUIブロックライブラリ「Native Cook」が公開されました。 挙動を動画で確認したうえで、AIコーディングエージェント用のプロンプトをコピーして導入できる仕様となっています。 https://twitter.com/ngocdevv/status/2117645490057892004
AIエージェント向けシミュレーター管理ツールSimlockが公開#
ローカルマシンを自動管理型のシミュレーター環境に変えるオープンソースツール「Simlock」が公開されました。 複数のAIエージェントそれぞれに独立したiOS/Androidシミュレーターや実機を自動で割り当て、並列作業を行わせることができます。 https://twitter.com/ChmalSzymon/status/2116118360270495865
Simlockについて私も記事を書いたのでぜひご参考にしてください! https://zenn.dev/tellernovel_inc/articles/simlock-multi-agent-simulators
マルチプラットフォーム対応E2EツールArgent e2eが登場#
アプリを一度操作するだけでテスト手順をYAML形式で記録できる「Argent e2e」が発表されました。 生成されたテストはCI環境でエージェントなしで実行可能で、iOSやAndroidのほかChromium、Electron、Fire TVなど幅広い環境に対応しています。 https://twitter.com/argent_ai_/status/2117243326810177707
React Native & Expo向けデスクトップフレームワークLegend Sparkが登場#
React NativeとExpoを利用してデスクトップアプリを構築できる「Legend Spark」が発表されました。 Expo Desktopをベースにしており、ウィンドウ管理やメニューバーアイコンなどデスクトップ向けに必要なモジュールを標準搭載しています。 https://twitter.com/jmeistrich/status/2114659099392786444 https://twitter.com/jmeistrich/status/2114659102769156140
Skia Canvas初回マウント時のシェーダーコンパイルによるUIブロックへの注意喚起#
アプリ起動後にSkia Canvasが初めてマウントされる際、シェーダーのコンパイルによってUIスレッドやアニメーションがブロックされる問題が指摘されています。 開発環境では初回の1回しか発生しないため気付きにくく、注意が呼びかけられています。 https://twitter.com/KennethBrattli/status/2116989798770503872
MargeloのMobile Dev PluginがCodexストアで公開#
Margeloが開発したモバイルアプリ開発支援向けの「Mobile Dev Plugin」が、Codexストアにて利用可能になりました。 https://twitter.com/margelo_com/status/2117318069097746784
Expo DesktopでNativeScriptとAppKitを活用したライブ編集が実現#
Expo Desktop環境においてNativeScriptを介し、macOSネイティブのAppKitコンポーネントをブラウザ上でライブ編集する手法が紹介されました。
npx @nativescript/cloudflare-cli live --expo コマンドで試すことができます。
https://twitter.com/wwwalkerrun/status/2117081989069377958
E2EテストツールArgentの公式READMEが日本語に対応#
クロスプラットフォーム対応のテストツール「Argent」の公式GitHubリポジトリに、日本語版および中国語版のREADMEが追加されました。 https://twitter.com/argent_ai_/status/2116180515569225974
ABEMA Dev ConfにてReact Nativeによるテレビアプリ開発が発表予定#
12月8日に開催される「ABEMA Developer Conference」にて、Web技術およびReact Nativeを活用してテレビアプリを開発する取り組みについての登壇が告知されました。 https://twitter.com/3846masa/status/2115649722774122942
React Nativeへe2eを導入する記事を公開#
私の記事ですが、React Nativeアプリにe2eを導入する手順や所感をまとめた記事を公開しました。 https://twitter.com/kazutoyo/status/2114996650653655220
今週のひとこと#
React Nativeで日本語IMEの変換時に下線が表示されない問題が長らく直っていなかったので、ついに解決してくれたのは嬉しいですね!