Эта статья написана Виталием Тополюком (Vitalii Topoliuk), разработчиком программного обеспечения (Meta), и Шоном Киганом (Sean Keegan), консультантом разработчиков (Meta).
Сегодня мы поговорим с Виталием Тополюком, разработчиком программного обеспечения из команды приложения Messenger для ПК в Meta. Команда Виталия работает над версией Messenger для ПК, с помощью которой вы можете обмениваться сообщениями, звонить и поддерживать связь непосредственно с компьютера.
Меня зовут Виталий Тополюк. Я разработчик ПО, моя команда работает над приложением Messenger для ПК. Мы разрабатываем версии Messenger для Windows и macOS уже три года, а последние два — с применением React Native.
Приложение основано на фреймворке React Native.
Messenger для ПК и связанные с ним проекты: Чат Workplace и Workrooms для ПК.
Наше приложение создано на базе фреймворка Electron, который стал отличной отправной точкой. Однако мы быстро достигли предела возможностей Electron, и нам пришлось дополнительно инвестировать достаточно много средств, чтобы соответствовать требованиям по производительности, надежности и эффективности (PRE). Кроме того, функции приложения были ограничены Electron.
Благодаря переходу на React Native нам удалось решить несколько проблем с производительностью, надежностью и эффективностью, а также сделать работу разработчиков значительно удобнее. React Native позволяет повторно использовать 80 % кодовой базы и улучшать метрики PRE. Вот лишь некоторые улучшения, которых мы достигли с переходом на React и без каких-либо дополнительных инвестиций в PRE по сравнению с приложением на Electron, при использовании которого нам приходилось заниматься улучшениями PRE в течение трех месяцев.
Зона сбоев: –60 %
Коэффициент успешности начального запуска: 97 % (88 % для Electron)
Задержка начального запуска P90: –50 %
Размер двоичных данных: –80 %
Зона сбоев: +59 %
Коэффициент успешности начального запуска: 99 % (95 % для Electron)
Задержка начального запуска P90: –60 %
Размер двоичных данных: –70 %
В Meta у нас есть возможность показать сообществу, как на React Native можно разрабатывать кросс-платформенные приложения для ПК.
Я надеюсь, что в будущем React Native заменит Electron. Однако для этого сначала необходимо улучшить этот фреймворк, чтобы он поддерживал больше комплексных инструментов разработки. Например, Electron не только служит оболочкой для веб-приложений, но и содержит инструменты для создания установщиков, средств автоматических обновлений, отчетов о сбоях и т. п.
Мы благодарим Виталия за интервью и уделенное нам время. Нам было интересно узнать, как React используется для улучшения крупных приложений и как мы в Meta учимся на своем опыте и вносим свой вклад в сообщество React. Надеемся, что вам тоже было интересно и теперь у вас есть некоторое представление о том, как и где используется React в Meta. Ожидайте новых выпусков блога, в которых мы встретимся с другими разработчиками Meta, чтобы узнать, что они думают на эту тему.
React — один из самых популярных проектов с открытым исходным кодом, который на протяжении нескольких последних лет неизменно входит в число самых используемых веб-фреймворков. По мнению специалистов Meta, React — это отличная библиотека, которая помогает разработчикам легко создавать пользовательские интерфейсы и масштабировать их. React — это библиотека с открытым исходным кодом, в которой найдется возможность для каждого. Это подтвердят миллионы разработчиков простых сайтов и корпоративных приложений по всему миру.
Этот блог входит в нашу серию "Встречи с разработчиками", где мы беседуем с инженерами и разработчиками, регулярно использующими React, и приглашаем их поделиться своим опытом и рассказать нам о великолепных продуктах, которые они создают. Ожидайте новых выпусков блога, в которых мы встретимся с другими разработчиками, чтобы узнать, что они думают на эту тему.
Чтобы узнать больше о Meta Open Source, перейдите на наш сайт, посвященный открытому исходному коду, подпишитесь на наш YouTube-канал или следите за нами в Twitter, на Facebook и в LinkedIn.