Así que, hola a todos. Soy Tathagath, y soy un líder en ingeniería de front-end con base en India. Y he estado escalando equipos y sistemas de front-end y los he lanzado. A lo largo de los años, he liderado procesos de ingeniería de UI en productos que sirven a millones de usuarios. Así que el enfoque siempre ha sido el rendimiento, la arquitectura y las mejores prácticas que permiten a los equipos moverse lo suficientemente rápido y sin sacrificar la calidad. Y por lo tanto, la charla de hoy está inspirada en esto. Y se llama Escalando React, ¿Qué es lo que realmente importa? Y probablemente, pasaremos los próximos 20-25 minutos hablando sobre algo que he observado basado en muchos equipos de ingeniería, tiempo a través de muchos equipos. Y es casi como todos los problemas que piensas que React está creando, pero en realidad no es así. Son decisiones arquitectónicas incorrectas y todas esas cosas. Así que, comencemos. Y el tema es escalando React, ¿Qué es lo que realmente importa?
Y así, primero hablaré en términos generales sobre la inspiración de esta charla, ¿verdad? ¿Cuál fue la conversación que tuve y que me inspiró a difundir esta charla? Comencemos con muchos de ustedes deben haber enfrentado el problema de que su aplicación se está ralentizando. Y deben haber sido parte de una sala de juntas donde una reunión concluye con una pregunta como, Oh, ¿deberíamos migrar de React y tal vez probar algún otro framework o biblioteca? O tal vez deberíamos simplemente reescribir toda la aplicación en cualquier framework de moda o tal vez el framework de la semana y así sucesivamente, ¿verdad? Muchos de ustedes deben haber encontrado esto en una reunión. Y sí, yo también. Quiero decir, también me encontré con lo mismo. Y lo que he descubierto es que casi cada vez resultó que React no es el problema de la lentitud de su aplicación o React no es el cuello de botella de su aplicación. Así que, esta charla es realmente sobre desglosarlo y por qué seguimos culpando siempre a lo incorrecto. React siendo lo incorrecto en este caso, pero en realidad no lo es. Así que, React no es lento, tu arquitectura lo es.
Y cubriremos brevemente un montón de problemas que parecen ser un problema basado en React, pero en realidad no es un problema de React. Es un problema que tu núcleo arquitectónico sostiene. Así que, sigamos adelante. Por qué esto importa es, de nuevo, seguí reiterando. Así que, probablemente te mostraré cinco cosas que parecen un problema de React, pero no lo son. Y al final, probablemente tendrás una lista de verificación que puedes ejecutar en tu aplicación cada lunes por la mañana para verificar si esta lista de verificación se cumple o no. Ahora, lo que ves aquí es una pirámide de rendimiento. Y cuando digo una pirámide de rendimiento, es principalmente todo lo que comprende tu aplicación, ¿verdad? Antes de ponernos demasiado técnicos, tal vez, o abordar los problemas de los que vamos a hablar, construyamos un modelo mental sobre la estructura del resto de la charla, ¿verdad? Así que, cada vez que tus aplicaciones, ya sabes, se sienten lentas, el problema reside en algún lugar de esta pirámide que estás viendo en la pantalla. En la parte superior, tenemos una capa de red, lo que obtienes, cuándo lo obtienes y en qué orden lo obtienes, ¿verdad? Luego la arquitectura, sobre cómo está organizado tu estado, cómo gestionas tu estado, cómo fluye tu información, y luego viene la pirámide de renderizado, ¿verdad? Parte de renderizado de la pirámide, que en su mayoría es manejada por el propio React. Pero también hablaremos de ello. Y luego en la parte inferior, podrías ver bucles y otras micro optimizaciones, ¿verdad? Y aquí está la incómoda verdad. Como, la mayoría de los blogs por ahí, la mayoría de los tweets por ahí, la mayoría del contenido de rendimiento de React vive en la parte inferior de esta pirámide.
Comments