Entonces, esta es la primera charla de la mañana, así que tenemos que retroceder un poco y hablar sobre el origen de React Native y su conexión con React, el uso de componentes, el sistema de puente y los desafíos enfrentados en los primeros días. También menciono mi artículo sobre los puntos problemáticos de React Native en 2016 y las preguntas que la gente tenía sobre la comunicación nativa, la compatibilidad hacia atrás, asíncrono versus sincrónico y las elecciones de bibliotecas. La parte concluye con la mención de la lucha del navegador y el objetivo de compartir sabiduría en la comunidad de código abierto.
Entonces, esto es lo que sucede con React Native independiente de JavaScript. ¿Cuál es el origen aquí? Y solo porque nunca sé cómo será la audiencia, cuántas personas están familiarizadas con esto o no, pero React era una encapsulación de funciones componibles para escribir HTML, pero ahora estás escribiendo componentes en JavaScript. Tomó esta idea de estos componentes y luego los envolvió de manera muy elegante para ti, y lo hizo sentir como HTML, pero cada vez, como la mayoría de ustedes han hecho con React, cada vez que intentas establecer la clase, te das cuenta de que no puedes hacerlo porque en realidad todo está en JavaScript y la clase es una palabra clave dentro de JavaScript, por eso tienes que decir nombre de clase en React. Pero podría ser cualquier cosa ahí dentro.
Y luego realmente creamos componentes geniales y luego los renderizamos. Así es como funcionaba originalmente React Native. Tenías tus reglas de diseño del DOM que iban al diseño de yoga para el diseño de la plataforma de host en particular, y luego pudimos crear estas cosas realmente geniales. Podría haberse llamado de cualquier manera. Una vista podría haberse llamado un div. Creo que eso es retroceder en cierto grado, pero siempre es una vista y diferentes cosas. Pero en React Native, tienes estas ideas de nivel superior, vista, vista de desplazamiento, texto, entrada de texto, y luego en la parte inferior, tengo traducciones para las personas que solo han trabajado con React.
Y luego, por supuesto, como todos sabemos, aquí es donde entra en juego lo nativo, ¿verdad? Nativo, pongo un componente de texto allí, se convierte en una etiqueta de interfaz de usuario o una vista de texto dependiendo de en qué plataforma se esté ejecutando realmente. Y como todos sabemos, este es el infame sistema de puente que ha sido la pesadilla de algunas personas y no de muchas, pero aquí tienes tus plataformas de host o nativas comunicándose a través de cadenas serializadas directamente en JavaScript y comunicándolo de vuelta. Así es como era la idea clásica cuando comenzamos todo esto. Este era el puente, y fue una gran idea, pudimos tomar JavaScript, ejecutarlo y luego obtenerlo en una plataforma de host en particular, y eso fue todo. Estábamos conectando paquetes de npm directamente a aplicaciones móviles. Así se sentaron las bases, y luego, éxito, React Native está funcionando, todos estamos felices, no queda nada por hacer y estamos listos, excepto que no era un gran fanático de cómo era la experiencia al principio, aunque me encantaba React Native, había tantos dolores de cabeza, y escribí un artículo, por favor, todos, esto es tan llamativo, ¿verdad? Pero fue un artículo fantástico y escribí sobre lo que no funcionaba en React Native en 2016, y en realidad, todos esos problemas se resolvieron significativamente ahora, pero durante este caos de conectar por primera vez estas dos cosas a través de ese hilo único de este puente y todo lo demás, teníamos estas preguntas, la gente tenía preguntas sobre cómo hablar con lo nativo, no se entendía de inmediato al principio. La gente tenía preguntas sobre la compatibilidad hacia atrás a medida que React Native se actualizaba. La gente tenía preguntas sobre asíncrono versus sincrónico. Fue muy interesante porque en el mundo de React, no estabas acostumbrado a esta estructura asíncrona, no existía algo así como asíncrono dentro de React. Entonces vienes a React Native y todo lo que cruza el puente es asíncrono. Y luego la gente tenía preguntas sobre qué bibliotecas usar a medida que avanzamos en el camino. ¿Alguien ha estado usando React Native desde 2016? ¿Recuerdan los puntos problemáticos? Veo algunas manos doloridas. ¡Levanten! Y también, una cosa divertida, tenía esta parte en el artículo, la lucha del navegador, si recuerdan en ese entonces. Navegación. Afortunadamente, la gente mejoró eso significativamente. Pero nuestro objetivo era compartir la sabiduría. Y simplemente código abierto. Somos una empresa de código abierto. Así que, por supuesto, tenía esta solución.
Comments