Entonces, my view es tag view. Bien. Y puedes proporcionar el estilo base, variantes y todas esas cosas, que puedes proporcionar a cualquier otro componente. Y lo que esto hace es que ahora desde React Native UStyle, puedes importar VC y ese VC tiene my view. Esto está completamente tipado. Puedes escribir lo que quieras y esto funcionará. Así que ahora puedes escribir my view en tu código y después de ejecutar el bundle, después de ejecutar el plugin de Bevel, este código se convertirá en esto.
Bien. Entonces, tu VC y todas esas cosas desaparecerán y tu view será importada. Y cualquier etiqueta que hayas declarado en tu configuración será utilizada desde React Native y el estilo, el estilo apropiado se aplicará aquí. Así que esto es algo que estoy usando en tiempo de compilación y esto me permite manejar todo en tiempo de compilación y no añade ningún código a mi biblioteca React Native UStyle, no añade ningún código al tamaño de tu bundle y utiliza componentes ya existentes de React Native. Y por último, me gustaría mencionar Tamagui también, ya que ha sido el principal competidor en este espacio y personalmente estoy muy impresionado con lo que Nate ha sido capaz de construir. Este es un paquete sólido.
Ahora construyamos una comprensión básica de los términos compilador y transpilers. ¿Qué son y cómo son diferentes? Como puedes ver en la pantalla, los compiladores transforman el código fuente escrito en un lenguaje de programación a otro lenguaje. Básicamente un lenguaje de nivel más bajo que puede ser ejecutado directamente por una computadora y los transpilers por otro lado convierten tu código fuente de un lenguaje de programación a otro de nivel de abstracción similar. Así que, por ejemplo, convierte tu ES6 a ES5 o niveles más bajos, o tal vez tu código TypeScript a código JS. Ahora lo siguiente que necesitamos saber es cómo estos transpilers principalmente entienden o leen nuestra base de código. ¿Hacen una operación de lectura de archivo y luego alguna manipulación de cadenas y todo eso? Bueno, la respuesta es sí y no, ambos. Así que los transpilers principalmente usan una estructura de datos conocida como árbol de sintaxis abstracta o AST.
Este árbol se genera leyendo tu archivo y luego entendiéndolo para crear nodos de este árbol. Un árbol de sintaxis abstracta es una estructura de árbol que representa la estructura gramatical de tu código, enfocándose en las relaciones entre los elementos, no en los detalles de formato. Y es como un mapa de tu código que muestra cómo las expresiones y declaraciones se ajustan juntas. Así que veamos cómo se ve este árbol para un fragmento de código. Así que sí, si puedes ver este es el código de JavaScript normal y en el lado derecho está el AST. Así que si hago clic directamente en JSON, este es todo el árbol que se está creando para estas líneas particulares de código. Y si paso el cursor sobre, como si hago clic en consejos y hago clic en árbol, entonces esto me dirá qué tipo de nodo es esa selección particular. Si selecciono todo esto, esto es como un declarador de variable y luego dentro de esa declaración declarador de variable, otro declarador de variable, y luego en él, expresión de arreglo ya que es un arreglo y luego hay literales de cadena. Así que todos estos datos se están almacenando en este árbol y puedes pasar por este árbol en tu plugin de Babel y luego manipular estos datos muy fácilmente. Así que volvamos a nuestra charla.
Comments