返回開發人員最新消息

開發人員面對面 - React @ Meta 專文(Vitalii Topoliuk)

2023年6月28日發佈者:Suraj Subramanian

本文與 Meta 軟體工程師 Vitalii Topoliuk 和 Meta 開發人員倡導者 Sean Keegan 合作撰寫。

今天的訪談邀請到 Meta 的 Messenger 桌面版應用程式軟體工程師 Vitalii Topoliuk。Vitalii 的團隊負責開發可讓你直接在電腦上傳送訊息、通話並保持聯繫的桌面版 Messenger。

請先自我介紹。

我叫 Vitalii Topoliuk,我是 Messenger 桌面版應用程式團隊的軟體工程師。我們過去三年一直在開發 Windows 和 macOS 版 Messenger 應用程式,而後面兩年開始使用 React Native。

桌面版 Messenger 使用 React 的哪個功能?

我們的應用程式採用 React Native 架構。

你在 Meta 經手過哪些使用 React 的專案?

桌面版 Messenger 及其衍生專案:桌面版 Work Chat、桌面版 Workrooms。

為什麼你們的團隊選擇使用 React?使用 React 如何幫助你和團隊達成開發目標?

我們的應用程式建置在 Electron 架構上,這讓我們有很好的起步。可惜的是,我們很快就達到了 Electron 的負載量,必須投入大量資源才能滿足效能、可靠性和效率(PRE)的需求。此外,我們應用程式的功能也受到 Electron 的限制。

最近有什麼讓你感到振奮或極為自豪的事情嗎?

轉換到 React Native 後,我們解決了好幾個 PRE 問題,顯著改善開發人員的體驗。React Native 可讓我們重複使用 80% 的程式碼基底,並改善許多 PRE 衡量指標。以下是相較於在既有 Electron 應用程式上致力改善 PRE 三個月,我們僅將應用程式轉換至 React Native,而未針對 PRE 進行任何額外投資的情況下,所達成的部分改善成果:

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,但要實現這個目標,架構應該要再改進,以包含更多端對端生產工具。例如,Electron 不僅是網頁版應用程式的架構,還包含用來建立安裝程式、自動更新程式、當機報告等等的工具。


感謝 Vitalii 撥冗接受採訪。透過這次精彩的訪談,我們有機會瞭解如何使用 React 改善重要的應用程式,以及如何將在 Meta 學到的知識帶回 React 社群。希望今天的訪談對各位有幫助,也讓大家對於 Meta 使用 React 的方式及用途有一些見解。敬請期待更多訪談部落格文章,我們將與 Meta 工程師面對面,聽聽他們對這個主題的看法。

關於開發人員面對面 - React @ Meta 系列

React 是最受歡迎的開放原始碼專案之一,近年來多次蟬聯「最受喜愛」的網頁架構第一名。在 Meta,我們相信 React 是出色的程式庫,有助開發人員輕鬆建立大規模用戶介面。從簡單的網站乃至企業應用程式,React 開放原始碼程式庫已在全球各地獲得數百萬開發人員使用,每個人都能找到合適的用途。

本部落格是「開發人員面對面」系列單元之一,我們邀請固定使用 React 的 Meta 工程師分享自己的經驗,跟我們談談他們開發的各項精彩產品。敬請期待更多訪談部落格文章,我們將與其他工程師面對面,聽聽他們對這個主題的看法。

若要進一步瞭解 Meta 開放原始碼,請造訪我們的開放原始碼網站、訂閱我們的 YouTube 頻道,或追蹤我們的 TwitterFacebookLinkedIn 帳號。