Lo más destacado en Tresjs V4

Rate this content
Bookmark

Ha pasado un año desde que TresJS se hizo de código abierto en esta misma conferencia, así que en esta charla vamos a dar una actualización completa sobre lo que hemos estado preparando para la versión 4 del núcleo, incluyendo nuevas herramientas de desarrollo, documentación traducida, un libro de recetas, nuevas características y muchas correcciones de errores.

Alvaro Saburido
Alvaro Saburido
20 min
25 Apr, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Threads.js, un renderizador personalizado de Vue para crear escenas 3D declarativas, ha ganado popularidad con más de 1,700 estrellas en GitHub, 9K descargas mensuales de NPM y una sólida comunidad de desarrolladores. La versión 4 introduce mejoras de rendimiento, renderizado bajo demanda, soporte de tipos y gestión de memoria. La propagación de eventos y la creación de primitivas son características clave, junto con una mejor gestión de memoria y capacidades de inspección de escenas. El plan incluye documentación traducida, un nuevo libro de recetas y el lanzamiento de paquetes de post-procesamiento y XR VR. También se están trabajando en mejoras de rendimiento, un nuevo curso de 3D y actualizaciones para la biblioteca de interfaz de usuario Tres Leches.

Available in English: What's Hot On Tresjs V4

1. Introducción a Threads.js

Short description:

Hace un año, presentamos Threads.js en Vue.js live one y abrimos el proyecto al código abierto. Ahora, el ecosistema de Threads.js tiene más de 1,700 estrellas en GitHub, siendo el paquete principal el más popular. Tenemos más de 250 desarrolladores que utilizan el paquete principal y alrededor de 40 colaboradores. La biblioteca tiene casi 9K descargas mensuales de NPM y ha tenido mucho tráfico en el último año. Vamos a explorar las nuevas características de Threads.js versión 4.

Hola, Vue.js live. Hace un año, tuvimos el honor de presentar Threads.js al público en Vue.js live one. Si estuviste allí, probablemente me recuerdes, Dreset, como un estudiante de Slytherin, y probablemente también recuerdes que abrimos el proyecto al código abierto en vivo en el escenario.

Un año después, así es como se ve el ecosistema de Threads.js. Tenemos más de 1,700 estrellas en GitHub en todo el ecosistema, siendo el paquete principal el que tiene más estrellas, casi 1.5K, seguido de CentOS y el módulo Nuxt. Solo el paquete principal es utilizado por más de 250 desarrolladores y tenemos alrededor de 40 colaboradores.

Estas son las descargas mensuales de NPM y casi estamos llegando a las 9K, lo cual es genial para una biblioteca que solo tiene un año de antigüedad. Estas son algunas de las estadísticas de los sitios web y la documentación, que han tenido mucho tráfico en el último año. Dicho esto, veamos qué hay de nuevo en la versión 4 de Threads.js, que estará disponible pronto antes del verano.

2. Resumen de Threads.js Versión 4

Short description:

Soy Alvaro Sabu, un ingeniero de DevRel y el autor de Threads.js. Threads.js es un renderizador personalizado de Vue para crear escenas 3D declarativas. Comienza con tu gestor de paquetes preferido o pruébalo en nuestro playground oficial. En la versión 4, abordamos problemas de rendimiento, renderizado bajo demanda, soporte de tipos y fugas de memoria. También agregamos controladores de eventos a los primitivos y convertimos el objeto de propiedades en reactivo.

Hola a todos. Mi nombre es Alvaro Sabu. Soy un ingeniero de DevRel en StudyBlock. También soy creador de contenido. Tengo mi canal de YouTube, Alvaro DevLabs, donde creo tutoriales y cursos sobre código abierto en general, Vue, y Nuxt. También soy el autor de Threads.js. Tengo mi portafolio que nunca termino, y siempre puedes saludarme en mis redes y Alvaro Sabu en Twitter y mensaje.

Antes de comenzar, asumo que el 30% de ustedes puede haber oído hablar de Threads.js. Un poco más si estuvieron aquí el año pasado, pero el otro 70%, lo que puedo decirles es que se sorprenderán al final de esta charla. ¿Qué es Threads.js? Threads.js es un renderizador personalizado de Vue que te permite crear escenas 3D de manera declarativa utilizando componentes y composables de Vue. Así que imagina que de la misma manera en que creas componentes y elementos de UI en tus aplicaciones, haces lo mismo para 3D. Threads.js es la palabra en español para árbol, porque esta biblioteca se basa en 3Ds y también porque la palabra en francés ya estaba tomada por otra biblioteca.

¿Cómo se empieza? Puedes elegir tu gestor de paquetes preferido. En mi caso, uso pnpm, y puedes hacer pnpm add en Threads.js core. Este es un paquete principal, e instala tree como una dependencia pura, o siempre puedes jugar con él en nuestro playground oficial, que es similar al playground de componentes de archivo único de Vue. Si haces clic aquí, verás un lugar donde puedes editar el código y ver los cambios de inmediato aquí, para que puedas experimentar con Threads.js.

Dicho esto, pasemos a las nuevas características que puedes esperar en Threads.js versión 4. Durante el último año, recopilamos muchos comentarios de la comunidad, muchos. Muchos usuarios se quejaban de algunos problemas de rendimiento. Muchos de ellos solicitaban renderizado bajo demanda. Tuvimos muchos problemas con el soporte de tipos, especialmente después de que lanzaron 156 desde 3DS. También experimentamos fugas de memoria en los cambios de ruta de vista, por lo que cada vez que el usuario cambiaba de una página a otra, la memoria de la GPU y la CPU no se borraban. Algunos materiales y geometrías se quedaban allí, ocupando espacio. Esto es malo, especialmente si estás creando experiencias 3D en dispositivos móviles.

A continuación, agregamos controladores de eventos a los primitivos, como eventos de puntero. Tomamos todos esos comentarios y comenzamos a trabajar en nuevas características para la versión 4. La primera es el renderizado bajo demanda. Luego refactorizamos el almacenamiento de eventos y agregamos una lógica de propagación. Agregamos controladores de eventos a los primitivos. Usando primitivos, ahora el objeto de propiedades es reactivo.

QnA

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

Una Guía del Comportamiento de Renderizado de React
React Advanced Conference 2022React Advanced Conference 2022
25 min
Una Guía del Comportamiento de Renderizado de React
Top Content
React es una biblioteca para "renderizar" UI a partir de componentes, pero muchos usuarios se encuentran confundidos acerca de cómo funciona realmente el renderizado de React. ¿Qué significan términos como "renderizado", "reconciliación", "Fibers", y "committing"? ¿Cuándo ocurren los renderizados? ¿Cómo afecta el Contexto al renderizado, y cómo las bibliotecas como Redux causan actualizaciones? En esta charla, aclararemos la confusión y proporcionaremos una base sólida para entender cuándo, por qué, y cómo React renderiza. Veremos: - Qué es realmente el "renderizado" - Cómo React encola los renderizados y el comportamiento de renderizado estándar - Cómo se utilizan las claves y los tipos de componentes en el renderizado - Técnicas para optimizar el rendimiento del renderizado - Cómo el uso del contexto afecta al comportamiento del renderizado - Cómo las bibliotecas externas se integran en el renderizado de React
Construyendo Mejores Sitios Web con Remix
React Summit Remote Edition 2021React Summit Remote Edition 2021
33 min
Construyendo Mejores Sitios Web con Remix
Top Content
Remix es un nuevo marco de trabajo web de los creadores de React Router que te ayuda a construir mejores y más rápidos sitios web a través de una sólida comprensión de los fundamentos de la web. Remix se encarga de las tareas pesadas como la renderización del servidor, la división de código, la precarga y la navegación, y te deja con la parte divertida: ¡construir algo increíble!
Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Top Content
Cuando pensamos en Vuex, Pinia, o tiendas en general, a menudo pensamos en la gestión de estado y los patrones Flux, pero no solo las tiendas no siempre siguen el patrón Flux, ¡hay mucho más en las tiendas que las hace valer la pena usar! Plugins, Devtools, renderizado en el lado del servidor, integraciones TypeScript... Vamos a sumergirnos en todo más allá de la gestión de estado con Pinia con ejemplos prácticos sobre plugins y Devtools para sacar el máximo provecho de tus tiendas.
Acelerando tu aplicación React con menos JavaScript
React Summit 2023React Summit 2023
32 min
Acelerando tu aplicación React con menos JavaScript
Top Content
¿Demasiado JavaScript te está agobiando? Los nuevos marcos que prometen no usar JavaScript parecen interesantes, pero tienes una aplicación React existente que mantener. ¿Qué tal si Qwik React es tu respuesta para un inicio de aplicaciones más rápido y una mejor experiencia de usuario? Qwik React te permite convertir fácilmente tu aplicación React en una colección de islas, que pueden ser renderizadas en el servidor y rehidratadas con retraso, e incluso en algunos casos, se puede omitir la rehidratación por completo. Y todo esto de manera incremental sin una reescritura.
Documentación Full Stack
JSNation 2022JSNation 2022
28 min
Documentación Full Stack
Top Content
Los tutoriales interactivos basados en la web se han convertido en un elemento básico de los frameworks de front end, y es fácil ver por qué: a los desarrolladores les encanta poder probar nuevas herramientas sin el problema de instalar paquetes o clonar repositorios.Pero en la era de los meta-frameworks full stack como Next, Remix y SvelteKit, estos tutoriales solo llegan hasta cierto punto. En esta charla, veremos cómo nosotros, en el equipo de Svelte, estamos utilizando la tecnología web de vanguardia para repensar cómo nos enseñamos mutuamente las herramientas de nuestro oficio.
Bienvenido a Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Bienvenido a Nuxt 3
Top Content
Explica sobre la refactorización del código base de NuxtJS y los desafíos que enfrenta para implementar Vue 3, Vite y otros paquetes.

Workshops on related topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Top Content
Featured WorkshopFree
Mikhail Kuznetcov
Mikhail Kuznetcov
Vue3 fue lanzado a mediados de 2020. Además de muchas mejoras y optimizaciones, la principal característica que trae Vue3 es la API de Composición, una nueva forma de escribir y reutilizar código reactivo. Aprendamos más sobre cómo usar la API de Composición de manera eficiente.

Además de las características principales de Vue3, explicaremos ejemplos de cómo usar bibliotecas populares con Vue3.

Tabla de contenidos:
- Introducción a Vue3
- API de Composición
- Bibliotecas principales
- Ecosistema Vue3

Requisitos previos:
IDE de elección (Inellij o VSC) instalado
Nodejs + NPM
Construyendo aplicaciones web que iluminan Internet con QwikCity
JSNation 2023JSNation 2023
170 min
Construyendo aplicaciones web que iluminan Internet con QwikCity
Featured WorkshopFree
Miško Hevery
Miško Hevery
Construir aplicaciones web instantáneas a gran escala ha sido elusivo. Los sitios del mundo real necesitan seguimiento, análisis y interfaces y interacciones de usuario complejas. Siempre comenzamos con las mejores intenciones pero terminamos con un sitio menos que ideal.
QwikCity es un nuevo meta-framework que te permite construir aplicaciones a gran escala con un rendimiento de inicio constante. Veremos cómo construir una aplicación QwikCity y qué la hace única. El masterclass te mostrará cómo configurar un proyecto QwikCity. Cómo funciona el enrutamiento con el diseño. La aplicación de demostración obtendrá datos y los presentará al usuario en un formulario editable. Y finalmente, cómo se puede utilizar la autenticación. Todas las partes básicas para cualquier aplicación a gran escala.
En el camino, también veremos qué hace que Qwik sea único y cómo la capacidad de reanudación permite un rendimiento de inicio constante sin importar la complejidad de la aplicación.
De vuelta a las raíces con Remix
React Summit 2023React Summit 2023
106 min
De vuelta a las raíces con Remix
Featured Workshop
Alex Korzhikov
Pavlik Kiselev
2 authors
La web moderna sería diferente sin aplicaciones ricas del lado del cliente respaldadas por potentes frameworks: React, Angular, Vue, Lit y muchos otros. Estos frameworks se basan en JavaScript del lado del cliente, que es su núcleo. Sin embargo, existen otros enfoques para el renderizado. Uno de ellos (bastante antiguo, por cierto) es el renderizado del lado del servidor completamente sin JavaScript. Descubramos si esta es una buena idea y cómo Remix puede ayudarnos con ello?
Prerrequisitos- Buen entendimiento de JavaScript o TypeScript- Sería útil tener experiencia con React, Redux, Node.js y escribir aplicaciones FrontEnd y BackEnd- Preinstalar Node.js, npm- Preferimos usar VSCode, pero también se pueden utilizar IDE en la nube como codesandbox (otros IDE también están bien)
Next.js 13: Estrategias de Obtención de Datos
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Estrategias de Obtención de Datos
Top Content
WorkshopFree
Alice De Mauro
Alice De Mauro
- Introducción- Prerrequisitos para la masterclass- Estrategias de obtención: fundamentos- Estrategias de obtención – práctica: API de obtención, caché (estática VS dinámica), revalidar, suspense (obtención de datos en paralelo)- Prueba tu construcción y sírvela en Vercel- Futuro: Componentes de servidor VS Componentes de cliente- Huevo de pascua de la masterclass (no relacionado con el tema, destacando la accesibilidad)- Conclusión
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Vue.js London Live 2021Vue.js London Live 2021
117 min
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Top Content
Workshop
Daniel Roe
Daniel Roe
Construiremos un proyecto Nuxt juntos desde cero usando Nitro, el nuevo motor de renderizado de Nuxt, y Nuxt Bridge. Exploraremos algunas de las formas en que puedes usar y desplegar Nitro, mientras construimos una aplicación juntos con algunas de las restricciones del mundo real que enfrentarías al desplegar una aplicación para tu empresa. En el camino, dispara tus preguntas hacia mí y haré lo mejor para responderlas.