開発者向けニュースに戻る

Meet the Developers - React @ Meta Edition (ヴィタリー・トポリウク)

2023年6月28日作成者:Suraj Subramanian

この記事は、Metaのソフトウェアエンジニアであるヴィタリー・トポリウクと、Metaの開発者アンバサダーであるショーン・キーガンが共同で執筆しました。

今日のインタビューには、MetaのMessengerデスクトップアプリチームのソフトウェアエンジニアであるヴィタリー・トポリウクをお招きしています。トポリウクのチームは、コンピューターから直接テキストメッセージを送信したり、電話をかけたり、連絡を取り合ったりできるデスクトップバージョンのMessengerの開発に取り組んでいます。

自己紹介をお願いします。

ヴィタリー・トポリウクといいます。Messengerデスクトップアプリチームのソフトウェアエンジニアをしています。ここ3年は、WindowsバージョンとmacOSバージョンのMessengerアプリを開発してきました。そのうちの直近の2年はReact Nativeを使っていました。

Messenger DesktopではReactのどのような機能を使っているのですか?

MetaのアプリではReact Nativeフレームワークを利用しています。

Metaでこれまでに携わったReactを使うプロジェクトには、どのようなものがありますか?

Messenger Desktopと、派生プロジェクトのWork Chat for DesktopやWorkrooms for Desktopがあります。

あなたのチームでReactを使うことにしたのはなぜですか?また、Reactはチームの開発目標達成にどのように貢献していますか?

MetaのアプリはElectronフレームワークの上に構築されているため、非常に優れた初期ブーストが得られました。残念なことに、Electronの容量はかなり早くに限界に達し、パフォーマンス、信頼性、効率(PRE)の要件を満たすために多額の投資が必要となりました。さらに、Metaのアプリの機能はElectronによる制限を受けていました。

最近印象に残ったことや、特に誇りに思うことはありましたか?

React Nativeに移行することで、PREに関するいくつかの問題が解決され、開発者のエクスペリエンスが大幅に向上しました。React Nativeのおかげで、コードベースの80%を再利用し、多くのPRE指標を改善することができました。以下は、PREに対する追加の投資を行わずにアプリをReact Nativeに移行してもたらされた改善の一例です。3か月にわたってPREの改善に注力してきた確立されたElectronアプリと比較しています。

Windowsアプリ

クラッシュリーチ: -60%

コールドスタート成功率: 97% (Electronの場合は88%)

P90コールドスタートレイテンシー: -50%

バイナリサイズ: -80%

MacOSアプリ

クラッシュリーチ: +59%

コールドスタート成功率: 99% (Electronの場合は95%)

P90コールドスタートレイテンシー: -60%

バイナリサイズ: -70%

Metaのような会社でReact開発者として働くことで、何か特に刺激的だと思えることがありますか?

はい。Metaでは、React Nativeを使ってデスクトップ用のクロスプラットフォームアプリケーションを作成できることをコミュニティに示す機会があります。

あなたが期待するReactの今後の展望はどのようなものですか?

将来、React NativeがElectronに取って代わることを願っていますが、React Nativeが機能するためには、フレームワークを改善して、さらに多くのエンドツーエンドの制作ツールを組み込む必要があります。例えば、Electronはウェブベースのアプリ向けのシェルであるだけではありません。Electronには、インストーラー、自動アップデート、クラッシュレポートなどを作成するツールもあります。


このインタビューのために時間を割いてくださり、ありがとうございました。Reactがメジャーなアプリの改善に利用されていること、またここMetaで築いたことがいかに教訓として活かされ、その知識がReactコミュニティに還元されているかを知ることができ、とても有意義でした。このインタビューが皆さんのお役に立ち、ReactがMetaのどこでどのように利用されているかを知るための糸口となれば幸いです。Metaのエンジニアの方々が本トピックについて意見を述べられているインタビューブログが数多くありますので、そちらもご覧ください。

「Meet the Developers - React @ Meta」シリーズについて

Reactは最も人気のあるオープンソースプロジェクトの1つであり、過去数年にわたりずっと「最も愛されている」ウェブフレームワークの1つとしてランキングされてきました。Metaでは、Reactは優れたライブラリであり、ユーザーインターフェイスを大規模かつ容易に構築する上で開発者の役に立つものとして捉えています。シンプルなウェブサイトからエンタープライズアプリに至るまで、あらゆる分野で世界中の何百万もの開発者によって利用されているReactは、だれもが参加できるオープンソースライブラリです。

このブログは、「Meet the Developers」シリーズの一部です。このシリーズでは、Reactを利用するMetaのエンジニアの方々を定期的にお招きし、それぞれの経験をお話しいただきます。また、開発中の優れた製品についても紹介してもらいます。他のエンジニアの方々が本トピックについて意見を述べられているインタビューブログが数多くありますので、そちらもご覧ください。

Metaオープンソースについて詳しくは、Metaのオープンソースサイトにアクセスし、YouTubeチャンネルをサブスクリプション登録するか、MetaのTwitterFacebookLinkedInをフォローしてください。