Este artículo se creó con la colaboración de Vitalii Topoliuk, ingeniero de software de Meta, y Sean Keegan, representante de desarrolladores de Meta.
En la entrevista de hoy, conversamos con Vitalii Topoliuk, ingeniero de software del equipo de la app de Messenger para computadoras, de Meta. El equipo de Vitalii trabaja en la versión de Messenger para computadoras, que te permite enviar mensajes, hacer llamadas y mantenerte en contacto con las personas, directamente desde tu computadora.
Me llamo Vitalii Topoliuk y soy ingeniero de software en el equipo de la app de Messenger para computadoras. Durante los últimos tres años, desarrollamos las versiones para Windows y macOS de la app de Messenger, y en los últimos dos años, usamos React Native.
Nuestra app cuenta con la tecnología del marco React Native.
Messenger para computadoras y proyectos derivados: Work Chat para computadoras, Workrooms para computadoras.
Creamos nuestra app basándonos en el marco Electron, lo que nos dio un muy buen impulso inicial. Por desgracia, alcanzamos la capacidad de Electron bastante rápido y nos vimos obligados a que invertir mucho para cumplir con los requisitos de rendimiento, confiabilidad y eficacia (PRE). Además, con Electron, las funciones de nuestra app están limitadas.
Cuando realizamos la transición a React Native, solucionamos varios problemas de PRE y mejoramos en gran medida la experiencia de los desarrolladores. React Native nos permitió reutilizar el 80% de nuestra base de código y mejorar muchas métricas de PRE. Estas son algunas de las mejoras que obtuvimos por usar React Native en la app, sin ningún tipo de inversión adicional en PRE, en comparación con la app basada en Electron, en la que nos concentramos en realizar mejoras de PRE durante tres meses:
Alcance de bloqueo: -60%
Tasa de éxito de arranque en frío: 97% (88% con Electron)
Latencia de arranque en frío P90: -50%
Tamaño de archivo binario: -80%
Alcance de bloqueo: +59%
Tasa de éxito de arranque en frío: 99% (95% con Electron)
Latencia de arranque en frío P90: -60%
Tamaño de archivo binario: -70%
Sí. En Meta, tenemos la oportunidad de mostrar a la comunidad que React Native se puede usar para crear apps para computadoras de diferentes plataformas.
Espero que en el futuro React Native reemplace a Electron, pero, para que eso sea posible, se debe mejorar el marco e incluir más herramientas de producción de extremo a extremo. Por ejemplo, Electron no es solo un shell para apps basadas en la web; también incluye herramientas que permiten crear instaladores, actualizadores automáticos, informes de bloqueo, etc.
Le agradecemos a Vitalii por tomarse el tiempo y participar en esta entrevista. Fue increíble aprender cómo se usa React para mejorar las apps principales, y también el hecho de aprender de todo lo que creamos aquí en Meta y compartir ese conocimiento con la comunidad de React. Esperamos que esta entrevista te haya resultado útil y que te haya proporcionado información sobre cómo y cuándo se usa React en Meta. Consulta otros blogs de entrevistas en los que recibimos a ingenieros de Meta y escuchamos sus opiniones sobre este tema.
React es uno de los proyectos de código abierto más conocidos. En los últimos años, se lo calificó de manera constante como uno de los marcos web "más queridos". En Meta, creemos que React es una biblioteca increíble, que permite a los desarrolladores diseñar interfaces de usuario de manera fácil y a gran escala. React es una biblioteca de código abierto usada por millones de desarrolladores en todo el mundo, ya sea en sitios web simples o en aplicaciones de empresas, en la que todas las personas pueden participar.
Este blog forma parte de nuestra serie Meet the Developers, en la cual invitamos a los ingenieros de Meta que usan React a diario para que compartan sus experiencias y nos cuenten sobre los increíbles productos que están desarrollando. Consulta otros blogs de entrevistas en los que recibimos a otros ingenieros y escuchamos sus opiniones sobre este tema.
Para obtener más información sobre código abierto de Meta, visita nuestro sitio de código abierto, suscríbete a nuestro canal de YouTube o síguenos en Twitter, Facebook y LinkedIn.