Envía tu interfaz de usuario más rápido con Turborepo

Rate this content
Bookmark

La velocidad de iteración es la clave para desbloquear el potencial de tus equipos técnicos y de negocio. En esta masterclass, construiremos los cimientos para un monorepo altamente escalable utilizando Turborepo y hablaremos sobre las filosofías detrás de la arquitectura de bases de código para equipos de todas las escalas. A través del poder del almacenamiento en caché remoto, nunca haremos el mismo trabajo dos veces y entregaremos tus aplicaciones a la velocidad de Turbo.

FAQ

TurboPak es un empaquetador incremental optimizado para JavaScript y TypeScript, diseñado para realizar la menor cantidad de trabajo posible en la creación de paquetes de aplicación. Utiliza caché a nivel de función, permitiendo un embalaje más rápido y eficiente que los métodos tradicionales utilizados en Webpack.

TurboRepo es un sistema de compilación de alto rendimiento que utiliza técnicas como la compilación incremental, caché remoto y ejecución en paralelo para acelerar las compilaciones, lints, pruebas y otras tareas necesarias, reduciendo significativamente el tiempo que los servidores de CI/CD necesitan trabajar.

TurboRepo facilita la gestión de monorepos al hacer que la compilación y otras tareas sean más rápidas y eficientes, aprovechando la caché distribuida y la ejecución en paralelo, lo que permite a los equipos ahorrar tiempo y recursos significativos en sus procesos de desarrollo.

Para integrar TurboPak en un proyecto de Next.js, simplemente puedes utilizar la versión 14 de Next.js y agregar '//Turbo' en el script de desarrollo. Esto permite probar TurboPak en el entorno de desarrollo y beneficiarse de sus optimizaciones.

TurboPak optimiza la creación de paquetes utilizando una caché a nivel de función, lo que reduce drásticamente el trabajo repetitivo al comprender mejor los gráficos de módulos y enfocarse solo en los elementos necesarios para el empaquetado.

Un monorepo es un repositorio que contiene múltiples proyectos o paquetes en un solo lugar, facilitando la compartición de código y recursos entre ellos. Beneficia a los equipos al simplificar la gestión de dependencias, mejorar la coherencia y permitir optimizaciones a través de herramientas como TurboRepo.

TurboRepo mejora la eficiencia durante el desarrollo y el despliegue al permitir una compilación y linting en paralelo, aprovechar la caché distribuida y minimizar el tiempo requerido para las pruebas y otras tareas, acelerando el ciclo de lanzamiento y la colaboración entre equipos.

TurboRepo ayuda a mantener la salud a largo plazo de un monorepo al utilizar prácticas como uso limitado de dependencias en la raíz, gestión eficiente de versiones y configuraciones predeterminadas robustas con flexibilidad para adaptaciones, asegurando así un mantenimiento más sencillo y eficiente.

Anthony Shew
Anthony Shew
21 min
14 Nov, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

El Turboverse se enfoca en hacer que el proceso de desarrollo sea más rápido y eficiente. TurboPak es un empaquetador incremental con almacenamiento en caché a nivel de función, y TurboRepo es un sistema de compilación de alto rendimiento con características como compilación incremental, almacenamiento en caché remoto y ejecución paralela. TurboRepo puede optimizar los ejecutores de tareas, configurar monorepos y acelerar el tiempo de desarrollo. vclink-repo permite una integración perfecta con la caché remota de Vercel, y Conformance y Codoners proporcionan análisis estático y revisiones de código automatizadas. TurboPak y TurboRepo ofrecen procesos de CI más rápidos y avances emocionantes en el empaquetado web.

1. Introducción a Turboverse

Short description:

Estás escribiendo, construyendo y enviando más código que nunca. Pero tus tiempos de CI están aumentando y tu experiencia de desarrollo local empeora. Bienvenido a Turboverse, donde nos enfocamos en hacer que tu proceso de desarrollo sea más rápido y eficiente, desde el principio hasta el final.

Estás escribiendo, construyendo y enviando más código que nunca. Es genial construir un producto que tus clientes aman, pero tus tiempos de CI han estado aumentando lentamente. Tu experiencia de desarrollo local sigue empeorando un poco, y la complejidad de tu CI sigue aumentando. El tiempo que tarda desde la idea hasta el envío ha ido aumentando lentamente. Eso se debe a que tienes que sentarte y esperar por las cosas. Mucho como estos barcos. Pero ¿y si eso no tuviera que ser así? Hola y bienvenido a Turboverse. Soy Anthony. Soy TurboDX. Me gusta bromear diciendo que soy un comediante de pila completa, pero en realidad soy TurboDX. Estos problemas que describí son cosas en las que pienso mucho en mi trabajo. ¿Cómo podemos asegurarnos de que nunca hagas el mismo trabajo dos veces? Cuando necesitas hacer un trabajo nuevo, ¿cómo nos aseguramos de que sea rápido y que sea la menor cantidad de trabajo posible? ¿Cómo nos aseguramos de que desde el desarrollador individual hasta las aplicaciones enterprise más grandes del mundo, tengas una gran experiencia desde el principio hasta el final? En Turboverse, tenemos dos herramientas para lograr estos objetivos, TurboPak y TurboRepo.

2. Explorando TurboPak y TurboRepo

Short description:

Vamos a explorar TurboPak, un empaquetador incremental optimizado para JavaScript y TypeScript. Cuenta con caché a nivel de función para una creación de paquetes más rápida. TurboPak se está probando actualmente con el servidor de desarrollo de Next.js y ha logrado una tasa de aprobación del 93,9% para las pruebas de Next.js. TurboRepo es un sistema de compilación de alto rendimiento para bases de código de JavaScript y TypeScript, aprovechando los conocimientos de organizaciones como Meta y Google. Ofrece características como compilación incremental, caché remoto y ejecución en paralelo para acelerar tus compilaciones. Nuestro equipo de Vercel ha ahorrado más de 8.500 horas en las últimas dos semanas utilizando TurboRepo.

Vamos a explorar TurboPak y hablar un poco sobre la arquitectura subyacente. Luego, nos sumergiremos en una demostración y utilizaremos ambas herramientas para enviar nuestro primer conjunto de aplicaciones con una capa de caché completamente distribuida. También hablaremos sobre cómo funciona este repositorio mecánicamente, los beneficios de los monorepos y las cosas a tener en cuenta a un nivel más alto al diseñar un monorepo.

Primero, sumerjámonos en TurboPak. TurboPak es un empaquetador incremental optimizado para JavaScript y TypeScript. Estamos escribiendo en Rust para obtener velocidades de metal desnudo, liderado por el creador de Webpack, Tobias Koppers. Además de esa velocidad bruta, también lo estamos haciendo más inteligente. Si me muevo aquí a los conceptos principales, verás información sobre el TurboEngine. Con el TurboEngine, estamos haciendo la menor cantidad de trabajo posible, como mencionamos antes. El TurboEngine cuenta con caché a nivel de función para que podamos hacer la menor cantidad de trabajo posible para crear los paquetes de tu aplicación. Anteriormente, en Webpack, solo podíamos hacer esto a nivel de módulo, a nivel de archivo. Pero con la caché a nivel de función, podemos comprender más profundamente los gráficos de tus módulos. Debido a que podemos analizar las relaciones en todo tu código de manera más profunda, podemos ser más rápidos y dirigirnos directamente a las cosas que necesitamos empaquetar, examinar y analizar, en lugar de crear un gráfico mucho más grande. Además, Webpack está diseñado de manera que crea primero un gráfico no optimizado y luego lo optimiza. En TurboPak, simplemente estamos haciendo ese gráfico optimizado la primera vez, como puedes imaginar, un poco más rápido. En el momento de esta grabación, estamos utilizando el servidor de desarrollo de Next.js como terreno de prueba para TurboPak. Puedes visitar areweterboyet.com para ver que no, aún no somos completamente Turbo. Estas son todas las pruebas que están en el empaquetador Webpack. Además, hemos agregado algunas más ahora que tenemos una mejor cobertura para TurboPak, para averiguar si el servidor de desarrollo de Next.js con TurboPak está listo para ser lanzado de la versión beta a la estable. Puedes ver que actualmente tenemos un 93,9% de aprobación en esas pruebas de Next.js. Pero una vez que terminemos allí, en realidad tendremos un buen comienzo para compilar para producción esas aplicaciones de Next.js con TurboPak. Puedes probar esto hoy en tu proyecto de Next.js 14 usando //Turbo en el script de desarrollo de tu aplicación de Next.js. Esperamos escuchar tu experiencia y agradeceríamos que si encuentras algún problema, informes esos errores en el repositorio de Next.js en GitHub.

Pero tu empaquetador es solo una parte de la historia. Ahora hablemos de TurboRepo y hagamos un poco de demostración y hablemos sobre algunos aspectos mecánicos. TurboRepo es un sistema de compilación de alto rendimiento para bases de código de JavaScript y TypeScript. Estamos aprovechando algunos de los conocimientos de las organizaciones de monorepo más grandes del mundo, como Meta y Google, y haciendo que esas técnicas sean amigables, utilizables y productivas para todos. A través de características como compilación incremental, caché remoto, ejecución en paralelo y mucho más, podemos hacer que tus compilaciones, linters, pruebas y cualquier otra tarea que necesites se realicen lo más rápido posible. Como prueba, aquí tienes una captura de pantalla rápida que tomé de Vercel.com para nuestro equipo de Vercel, que muestra cuánto tiempo hemos ahorrado en las últimas dos semanas. Parece que hemos ahorrado más de 8.500 horas.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Kit de UI de la App de Canva: Empoderando a los Desarrolladores con Tecnologías Web Modernas
React Summit US 2023React Summit US 2023
8 min
Kit de UI de la App de Canva: Empoderando a los Desarrolladores con Tecnologías Web Modernas
En Canva, ayudamos a más de 150 millones de usuarios mensuales a crear y diseñar. ¿Cómo habilitamos a los desarrolladores para hacer lo mismo? Presentamos el SDK de Apps de Canva, que está construido para empoderar a los desarrolladores para crear interfaces de usuario para sus Apps de Canva usando React. Canva recientemente optimizó el proceso de creación de aplicaciones al compilar algunos de los componentes de UI más utilizados y solicitados por nuestros desarrolladores en nuestropaquete @Canva /app-ui-kit. Compartiré cómo iteramos sobre nuestro SDK de Apps para empoderar a los desarrolladores de todo el mundo para integrar su marca en Canva.
JavaScript en la Gran Pantalla: Creando Apps de TV
JSNation 2024JSNation 2024
22 min
JavaScript en la Gran Pantalla: Creando Apps de TV
El siempre creciente panorama de aplicaciones de JavaScript ha llegado ahora a la gran pantalla, sí, lo has oído bien, ¡puedes construir apps de TV con JavaScript!
El espacio operativo de las TVs es un desastre; hay más fragmentación que en el ecosistema de Android, y eso ya es decir algo. Cada fabricante ha tratado de reinventar la rueda creando su propio sistema operativo. En este momento, los principales actores son Android TV, tvOS, WebOS, Tizen, entre muchos otros.
Esto lo convierte en un lugar único donde JavaScript y las tecnologías web pueden convertirse en un factor unificador y ahorrarte el estrés de tratar de desarrollar y mantener un montón de apps para la gran pantalla.
Hablaremos sobre cómo construir apps de TV, qué frameworks de JS pueden ayudar en esto, y exploraremos los desafíos que vienen de la mano con el desarrollo de apps de TV, como los cuellos de botella de rendimiento y la gestión del enfoque utilizando los controles remotos.
Elementos Interactivos Anidados: Una Pesadilla en Accesibilidad
React Summit 2024React Summit 2024
9 min
Elementos Interactivos Anidados: Una Pesadilla en Accesibilidad
En los últimos años se han desarrollado numerosas experiencias de usuario (UX) notables, como tarjetas que muestran una variedad de productos y elementos de lista clicables con opciones de menú dinámicas, entre otros. Sin embargo, solo unos pocos son conscientes de los desafíos involucrados en la construcción de estructuras con elementos interactivos anidados, y desafortunadamente, algunos de ellos son completamente inaccesibles.
En la charla de hoy, exploraremos algunos de estos patrones de UX web prevalentes y profundizaremos en los desafíos ocultos que presentan. Si bien podemos mitigar algunos de estos problemas, otros sirven como historias de advertencia en cuanto a accesibilidad.
Incluido Técnicamente (El Mejor Tipo de Inclusión)
React Summit 2024React Summit 2024
30 min
Incluido Técnicamente (El Mejor Tipo de Inclusión)
La brecha entre el diseño y el desarrollo perjudica tus proyectos de React: plazos más lentos, calidad comprometida y entregas repetitivas. Esta charla explora los orígenes de este problema, las diferencias en el lenguaje y el entorno, y ofrece soluciones a través de procesos, herramientas y colaboración. Descubre cómo incluir a los diseñadores durante todo el proceso de implementación ayuda a los desarrolladores a reducir la fricción, acelerar el desarrollo y ofrecer interfaces de usuario excepcionales.