👓

Meta Connect 2024 Keynote: VR版Facebook/InstagramはReact Nativeで実装されている

2024/10/03に公開

2024.9.25-26に開催されたMeta Connect 2024。「Horizon OS」「HorizonWorld」「Llama3.2」や話題となったVRサングラス「Orion」などが紹介されました。

直接React Nativeに関する発表があったわけではないですが、Connectに絡めてX/Threadsといった"場外"でReact Nativeについての重要なお知らせがいくつかあったので、まとめてみました。

https://developers.facebook.com/m/meta-connect-developer-sessions/connect-keynote/

Meta Quest用のVR版Facebook/Instagramアプリは、React/React Nativeで実装されている

https://x.com/reactnative/status/1841525790900363483

React Strict DOM も使われている

React Native for Webの開発者として知られるNicolasが開発中のReact Strict DOMは、HTMLベースのReactアプリケーションのコードをReact Nativeアプリで実行するためのReact DOMレンダラーです。

Nicolasは自身のThreadsアカウントで、VR版FB/Instagramについて "use React Strict DOM to render hundreds of Meta's existing React web components on native" と書いています。React Nativeベースであるだけでなく、React Strict DOMを使ってWeb版のコードを使ってレンダリングしているようです。

https://www.threads.net/@nicolas.img/post/DAWZUYoyAQU?xmt=AQGzoxikayGul4BPaCn4ckIMmqMd-UWgyVwbA01VG5dFFA

JSエンジンとしてStatic Hermesも使われているらしい

React NativeのJSエンジンの改良版である「Static Hermes」も使われている模様です。
クリアに言及されたわけではないですが、Static Hermes開発者のTzvetan Mikovが「"S"で始まり、"elmes"で終わる」と匂わせていて、ほぼ間違いないと思います。

https://x.com/tmikov/status/1839026919549055125

追記: Meta公式技術ブログ

React/React Nativeを使ったVR版Facebook/Instagram、Meta Horizen、Meta Horizon Store, Meta Spatial Editor(デスクトップ)の開発について、公式ブログに記事が上がっていました。

React at Meta Connect 2024 - Engineering at Meta
https://engineering.fb.com/2024/10/02/android/react-at-meta-connect-2024/

MetaはReact Nativeをメインの開発プラットフォームとして採用するのか?

React NativeはMetaが開発元でありながら、いままでMetaの主流のプロダクトでメインのエンジンとしては採用されていなかったという経緯があります(ショーケースに掲載されたモバイル版Facebookもハイブリッド構成のようです)。

https://reactnative.dev/showcase

そんな中で昨年の3月にMac版のMessengerがReact Nativeで完全に書き直されたというニュースがあり、今後はこの方針なのかな?という期待があったなか、今回の発表になりました。
https://developers.facebook.com/blog/post/2023/05/17/messenger-desktop-faster-and-smaller-by-moving-to-react-native-from-electron/

主にReact Nativeでアプリを開発している筆者としては、Xamarinがあるのに何故か一番React Nativeを採用しているMicrosoftに続いて、MetaがReact Nativeを主力プロダクトでメインの基盤として使うようになって欲しいと願っています。

Discussion