Muy bien, estoy muy emocionado de estar aquí hoy y poder hablarles sobre el desarrollo de Schedule React específicamente con NX. Antes de comenzar, permítanme presentarme. Mi nombre es Jurijs Tromfloner. Soy un Experto en Desarrollo de Google en tecnologías web. También soy instructor en AgCat y Embajador de Cypress.
En este momento, trabajo en Nowll como arquitecto de JavaScript y gerente de ingeniería, y en Nowll tratamos de ayudar a los equipos a aprender, crecer y tener éxito. Y lo hacemos ayudando a planificar sus hojas de ruta, identificar restricciones técnicas. También brindamos capacitaciones en talleres, por ejemplo, en conferencias, o charlas en conferencias, como la que estoy haciendo ahora. Sin embargo, lo que prefiero es trabajar como parte integrada de tu equipo, donde podemos identificar las cosas a medida que surgen.
Entonces, ¿cómo escalamos el desarrollo, especialmente con equipos grandes, y específicamente desde una perspectiva técnica, puramente? Y así identifico básicamente esos tres pilares, básicamente impulsar y automatizar una buena arquitectura, luego también tener herramientas modernas a mano, y una mejor experiencia de desarrollo hará que nuestros desarrolladores sean más productivos. Y finalmente, la velocidad en general. Y me gustaría hablar principalmente sobre Annex hoy, que es nuestra herramienta de desarrollo de código abierto, diseñada para Monorepos, pero también funciona sin Monorepos, de hecho, muy bien.
Entonces, esta es básicamente la estructura que generalmente obtienes cuando generas un nuevo proyecto, ¿verdad? Entonces, lo que llamo esto es como una estructura monolítica, tienes esa aplicación, tienes diferentes tipos de carpetas, donde cada una de esas carpetas representa una funcionalidad y un límite de características, generalmente. Ahora, con Annex es un poco diferente, allí tenemos los bloques de construcción de aplicaciones y bibliotecas. Ahora, la aplicación, como puedes ver aquí, se encuentra en la parte superior, y luego están las bibliotecas individuales allí abajo. Y la razón de esto es que conduce a una mejor arquitectura en general, porque las bibliotecas representan un límite mucho más fuerte que solo las carpetas. Con las carpetas, es muy difícil controlar lo que se puede exportar y también señalar lo que otros desarrolladores pueden exportar. Y así, en Annex, lo que tienes generalmente es una aplicación muy delgada en la parte superior, y luego tienes muchas de esas bibliotecas de espacio de trabajo bien definidas, donde se encuentra la lógica real. Y esas bibliotecas de espacio de trabajo realmente no necesitan ser publicadas en ningún lugar, pueden, pero pueden vivir dentro del espacio de trabajo y la aplicación simplemente las enlaza. Y así, al final, la aplicación, si quieres, es realmente solo la que se puede implementar. Y luego la lógica está realmente en esas bibliotecas. Y lo que a menudo sucede a partir de esa situación, es que las personas comienzan a crear varias de esas aplicaciones y simplemente eligen las bibliotecas que realmente necesitan. Y esto, por ejemplo, te permite implementar la misma infraestructura varias veces e incluso escalarla de diferentes formas. Por ejemplo, es posible que deseemos escalar más la parte de fases públicas que tal vez esa parte administrativa, que solo es utilizada por usuarios internos. Pero hoy realmente me gustaría ser más práctico y mostrarte cómo es trabajar con Annex. Y para comenzar, por supuesto, simplemente instalas el espacio de trabajo de Annex y esto se hace mediante create Annex workspace, le das un nombre, digamos react-summit. Y también paso aquí un administrador de paquetes, que en este caso es Yarn, pero también podría ser pnpm o npm. Y esto ahora instala el espacio de trabajo de Annex básicamente configurado y allí se nos hacen algunas preguntas. Entonces podemos comenzar con un espacio de trabajo vacío, pero también podemos usar uno de esos preajustes que son bastante útiles, ya que ya están preconfigurados. Y así elegimos react y podemos darle un nombre, por ejemplo, demo app.
Comments