Hola a todos. Es fantástico estar aquí hoy para hablar sobre algo que afecta a todos los desarrolladores en algún momento de su trayectoria, que es el rendimiento. Como todos sabemos, los usuarios móviles esperan experiencias fluidas y rápidas. Incluso una pequeña falta puede llevar a la frustración y al abandono.
Mi charla de hoy, de la falta a la iluminación, mejorando el rendimiento de la aplicación React Native, explorará las técnicas de optimización para ayudarte a construir aplicaciones que no solo sean funcionales, sino también increíblemente rápidas. Ya sea que estés solucionando cuellos de botella o planificando para optimizar, esto te ayudará a equiparte con las estrategias prácticas, herramientas y ejemplos que puedes aplicar. Comencemos.
Soy Swetha. Trabajo como ingeniera de software senior en Replik. Me encanta el senderismo, me encanta andar en bicicleta y amo a los animales, y soy de India. Comencemos entendiendo por qué el rendimiento es una prioridad principal para las aplicaciones móviles. Los estudios muestran que el 53% de los usuarios abandonan una aplicación si tarda más de tres segundos en cargarse. El 80% de los usuarios abandonan la aplicación que se retrasa o se bloquea. Y los efectos no se detienen ahí. Cada segundo de retraso reduce la conversión en un 7%. Y cuando la aplicación funciona mal, los usuarios se van, las calificaciones de la aplicación caen en picado y las empresas pierden ingresos. Entonces, como desarrolladores, nuestro objetivo es crear aplicaciones que se sientan instantáneas e intuitivas. Para lograr eso, necesitamos mantener un fluido de 60 fotogramas por segundo, o FPS. Cuando caemos por debajo de 30 FPS, los usuarios comienzan a notar, y eso impacta directamente en el compromiso y la retención. Hoy nos centraremos en formas prácticas de superar estos desafíos de rendimiento.
Pero antes de pasar allí, hagamos un resumen de la arquitectura de React Native. La promesa de React Native de desarrollo multiplataforma se basa en su arquitectura, pero esta flexibilidad viene con algunos desafíos. En el modelo heredado, React Native se basa en un puente para comunicarse entre el hilo de JavaScript y el hilo nativo de forma asincrónica. Esto requiere serialización JSON, lo que agrega sobrecarga y latencia, especialmente para cargas de datos grandes subidas. Aquí hay una representación visual de lo que acabo de hablar, donde este es un puente que se utiliza para comunicarse entre el hilo de JavaScript y los hilos nativos, y todo esto ocurre de forma asincrónica, lo que requiere serialización JSON.
Ahora, la nueva arquitectura. Esto presenta JSI, la interfaz de JavaScript, fabric renderer y turbo modules, que reemplaza el puente. Ahora, JSI permite la comunicación síncrona directa, desbloqueando mejoras significativas en el rendimiento. Estos cambios arquitectónicos forman la base de muchas de las técnicas que discutiremos hoy. Y aquí hay una representación visual de lo que estaba hablando sobre, el JSI, el fabric, los turbo modules, interactuando, haciendo la comunicación entre el React y el sitio nativo.
Comments