Back to News for Developers

Meet the Developers - React @ Meta Edition (Vitalii Topoliuk)

June 28, 2023BySuraj Subramanian

This article was written in collaboration with Vitalii Topoliuk, a Software Engineer at Meta and Sean Keegan, a Developer Advocate at Meta.

For today's interview, we have Vitalii Topoliuk, a Software Engineer on the Messenger Desktop App team at Meta. Vitalii’s team works on the desktop version of Messenger, which enables you to text, call, and stay in touch–directly from your computer.

Tell us about yourself?

My name is Vitalii Topoliuk and I am a Software Engineer on the Messenger Desktop App team. We have been developing Windows and macOS versions of the Messenger App for the last three years–the last two of which we’ve been using React Native.

In what capacity does Messenger Desktop use React?

Our app is powered by the React Native framework.

What are some of the projects that you’ve worked on at Meta that use React?

Messenger Desktop and derived projects: Work Chat for Desktop, Workrooms for Desktop.

Why did your team choose to use React and how does using React help you and your team achieve your development goals?

Our app was built on the top of the Electron framework which gave us a very good initial boost. Unfortunately, we reached the capacity of Electron pretty fast and had to invest a lot to meet Performance, Reliability, and Efficiency (PRE) requirements. Additionally, the features of our app were limited by Electron.

What have you been excited about or incredibly proud of lately?

By transitioning to React Native, we solved several PRE issues and significantly improved the developers' experience. React Native allowed us to reuse 80% of our codebase and improve a lot of PRE metrics. Below are some of the improvements we achieved just by moving to React Native for the app without any additional investment in PRE versus the established Electron app on which we’d been focusing on PRE improvements over three months:

Windows app:

Crash Reach: -60%

Cold Start Success Rate: 97% (88% for Electron)

P90 Cold Start Latency: -50%

Binary Size: -80%

MacOS app:

Crash Reach: +59%

Cold Start Success Rate: 99% (95% for Electron)

P90 Cold Start Latency: -60%

Binary Size: -70%

Is there something especially exciting about being a React developer at a company like Meta?

Yes, at Meta, we get the opportunity to show the community that React Native can be used to create cross-platform applications for Desktop.

What are you excited to see in the future of React?

I hope that React Native will replace Electron in the future–but for this to work, the framework should be improved to include more end-to-end production tools. For example, Electron is not only a shell for web-based apps, but also contains tools to create installers, auto-updaters, crash reporting, etc.

We would like to thank Vitalii for taking the time to do this interview. It was amazing to learn how React is being used to improve major applications; and how we are learning from the things that we build here at Meta and contributing that knowledge back to the React community. We hope you found this interview useful and that it gave you some insight into how and where React is being used at Meta. Look out for more interview blogs where we meet with Meta engineers and hear their thoughts on this topic.

About the Meet the Developers - React @ Meta series

React is one of the most popular open source projects and has consistently been ranked as one of the “most loved” web frameworks for the last several years. We at Meta believe that React is an outstanding library that helps developers build user interfaces easily and at scale. Used by millions of developers worldwide, for everything from simple websites to enterprise applications, React is an open source library with a place for everybody.

This blog is a part of our Meet the Developers series, where we invite Meta engineers who use React on a regular basis to share their experiences and tell us about the amazing products they are building. Look out for more interview blogs where we meet with other engineers and hear their thoughts on this topic.

To learn more about Meta Open Source, visit our open source site, subscribe to our YouTube channel, or follow us on Twitter, Facebook, and LinkedIn.