Llevando Vue.js al Backend

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Vue.js es un framework frontend. Pero los diferentes módulos, como el motor de reactividad, se pueden importar por separado. Divirtámonos y exploremos posibles casos de uso para la reactividad de Vue en el backend.

This talk has been presented at Vue.js London Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

Mark es un desarrollador de software autónomo con sede en Luxemburgo.

Mark trabaja principalmente con Vue.js, Nuxt y Node.js en el backend.

'Decoding the Code' es el nombre del podcast que tiene Mark.

Se puede contactar a Mark a través de Twitter, donde es bastante activo.

Mark explora el uso de Vue.js en el backend para provocar el pensamiento sobre cómo podría utilizarse Vue.Reactivity en este contexto.

Evan Yu aconsejó a Mark asegurarse de usar ref superficial y Reactividad superficial para evitar la proxy profunda de los elementos internos de Node.js.

Un proxy es una entidad que se comporta igual que el objeto original, permitiendo interceptar y sobrescribir métodos como los getters y setters, facilitando la reactividad en la programación.

Mark usa Vue 3 Reactivity en el backend mediante la creación de objetos reactivos y efectos que responden a cambios, como demostró en su servidor express durante la charla.

El patrón observador es un patrón de diseño donde un objeto (el observador) se suscribe para observar y reaccionar a los eventos de otro objeto, facilitando la reactividad cuando cambian los estados.

Marc Backes
Marc Backes
23 min
21 Oct, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla explora el uso de Vue.js en el backend, centrándose específicamente en la Reactividad de Vue 3. Se discute cómo la Reactividad de Vue 3 aprovecha los proxies de ES6 para actualizar cambios e interceptar hooks. La charla también cubre la implementación de Vue.js en el backend con demostraciones en vivo, mostrando la modificación de proxies y el uso de funciones reactivas. Se demuestra la creación de un array reactivo y la implementación de las funcionalidades de unirse, salir y enviar mensajes. La charla concluye mencionando la posibilidad de usar propiedades computadas e invitando a hacer más preguntas.
Available in English: Taking Vue.js to the Backend

1. Introducción a Vue.js en el Backend

Short description:

Hola, y bienvenidos a mi charla sobre cómo llevar Vue.js al backend. Soy un desarrollador de software autónomo con sede en Luxemburgo. Esta charla no trata sobre una forma muy productiva de construir un backend de Vue.js. Se trata más de provocar el pensamiento sobre algunas cosas que podríamos usar Vue.js en el backend, y esto es Vue.Reactivity.

Mi nombre es Mark. Soy un desarrollador de software autónomo con sede en Luxemburgo. Trabajo mucho con Vue.js y Nuxt. También con Node.js en el backend.

Y tengo un podcast. Se llama Decoding the Code y siempre puedes encontrarme en Twitter. Soy bastante activo allí. Así que si tienes alguna pregunta surgida de esta charla, solo contáctame y te seguiré respondiendo, por supuesto.

Entonces sí, Vue.js en el backend. Puedes pensar, ¿estás loco? ¿Por qué harías eso? Así que una advertencia rápida. Esta charla no trata sobre una forma muy productiva de construir un backend de Vue.js. Se trata más de provocar el pensamiento sobre algunas cosas que podríamos usar Vue.js en el backend, y esto es Vue.Reactivity. Y se me ocurrió la idea de esta charla a principios de este año, e incluso tuiteé al respecto. Le escribí a Evan Yew. Hola Evan, ¿ves algún problema en usar el motor de Vue 3 Reactivity en un backend de Node.js? Y me alegró que respondiera, así que escribió, simplemente ten en cuenta lo que quieres hacer Reactivo. La API se establece en Reactividad Profunda porque tiene más sentido en el entorno del navegador, pero en Node.js, querrías evitar la proxy profunda de los elementos internos de Node. Asegúrate de usar ref superficial y Reactividad superficial. Así que básicamente tenemos el visto bueno de Evan Yu para hacer esto y recibí otra respuesta de Alexander Lichta. Él me señaló que Oscar Spence había dado una charla al respecto en Vue.conf.us. Escribió esta charla totalmente genial de Oscar Spence sobre Vue 3 Reactivity en el contexto del backend, que era exactamente lo que yo quería hacer. Así que parte de este código que voy a escribir hoy está inspirado en el código de Oscar Spence, un poco diferente, pero la idea se basa un poco en su charla. Así que gracias Oscar por el trabajo inicial que hiciste para esto.

2. Usando Vue 3 Reactivity en el Backend

Short description:

Queremos usar Vue 3 Reactivity en el backend. La Reactividad nos permite actualizar los cambios donde sea necesario. Esto se logra escuchando los cambios y activando los efectos. Vue 3 Reactivity aprovecha los proxies ES6 para sobrescribir los getters y setters de las propiedades del objeto. Los proxies tienen el superpoder de interceptar hooks, lo que nos permite reemplazar los métodos setter y getter. Vamos a profundizar en este concepto y verlo en acción durante la demostración en vivo.

De acuerdo, queremos usar Vue 3 Reactivity en el backend. Antes de llegar a eso, primero debemos saber qué es realmente la reactividad. La reactividad es cuando cambias algo y lo actualizas donde sea necesario. Para hacer eso, necesitamos escuchar los cambios y notificar cuando ocurre un cambio. Podemos hacer algo que se llama un efecto, un efecto secundario, algo que debería suceder cuando algo cambia. Por ejemplo, el valor del número cambia de 3 a 5. Entonces, el control deslizante debe estar en otra posición, por ejemplo.

De acuerdo, esto es el patrón observador. En Vue 3 Reactivity, en Vue 2 usamos Object.defineProperty y en Vue 3 sobrescribimos los getters y setters de las propiedades del objeto aprovechando la magia de los proxies ES6. Vamos a profundizar un poco en eso.

Entonces, ¿qué es un proxy? Si creas un proxy a partir de un objeto, por defecto se comporta de la misma manera que el objeto. Por ejemplo, si escribo un valor en esto, lo escribe en el objeto, en el objetivo, y también cuando leo de esto, devuelve el valor del objetivo. Se comporta exactamente como pensamos que debería funcionar, lo cual es genial. Pero los proxies tienen un superpoder, y este superpoder es que podemos interceptar estos dos hooks. Por supuesto, puedes interceptar más hooks, pero estos son los dos que son interesantes para este caso de uso. Puedes escribir el código que quieras para reemplazar los métodos setter y getter. En la demostración veremos qué hacemos con esto. Vamos a comenzar esta fiesta o mejor dicho, vamos a comenzar esta demostración en vivo.

3. Comprendiendo los Proxies de ESX y Modificando el Proxy

Short description:

Primero, obtengamos una idea de los Proxies de ESX y luego veremos cómo implementar el backend de Vue.js con una demostración en vivo. Comenzamos creando un objeto llamado persona con un nombre y una edad. Luego creamos un proxy a partir de este objeto utilizando un controlador. Por defecto, el proxy actualiza los cambios como se espera. Sin embargo, podemos modificar el proxy sobrescribiendo trampas o funciones en el controlador, como la función getter. Esto nos permite acceder y manipular el objeto original a través del proxy.

Primero, comencemos obteniendo una pequeña idea de los Proxies de ESX y luego vamos a hacer una pequeña demostración en vivo donde veremos cómo implementar algo de Vue.js en el backend. Veamos.

De acuerdo, comencemos con los proxies. Para mostrarte cómo funciona, simplemente crearé un objeto primero. Esto se llama persona y esta persona tiene un nombre Mark y tiene una edad de 34. Perfecto. Y creamos nuestro proxy de la siguiente manera. Un nuevo proxy a partir de persona y espera un segundo argumento que se llama controlador y vamos a ver cómo funciona en un momento.

Por ahora, puedo jugar con esto en este lado de la pantalla. Veamos primero qué hay ahí. Así que esto es el proxy y lo que pasamos aquí. Hasta ahora, nada espectacular. Pero cuando vamos allí ahora y decimos que proxy.edad es 35. Lo establece en 35. Cuando lo leemos de nuevo, en realidad se actualizó. Así es como esperamos que funcione. Y así es como se envía el proxy de forma predeterminada. Pero podemos modificar el proxy sobrescribiendo algunas trampas o funciones en este controlador. Por ejemplo, la función getter. Toma dos argumentos, objetivo y clave. Veamos qué es. Console.log objetivo y clave. Bien. Y veamos. Esto está invocando el método get. Aquí podemos ver que registra lo que queremos registrar. El objetivo. Ahora podemos ver cuál es el objetivo. El objetivo no es nada más que el objeto original, y el proxy es como el frente de eso. Esto es lo que está detrás del proxy, por así decirlo.

4. Comprendiendo la Reactividad de Vue 3

Short description:

Y la edad es la clave que queremos obtener. Simplemente llamémoslo 'get' para ver con qué estamos trabajando. Tenemos que volver a codificar la funcionalidad. Vamos a sobrescribir el 'setter'. Establecer la clave en el valor. Ahora, cuando intentamos leer el nombre, ¡hey, se actualizó! Entonces ahora hemos interceptado estas funciones, pero ¿qué debemos hacer con ellas? En la reactividad de Vue, hacemos un seguimiento y activamos. Tengo otra charla en una conferencia donde profundizo en la reactividad de Vue 3, pero por ahora, esto es suficiente. Vue 3 tiene una función llamada 'reactivity'.

Y la edad es la clave que queremos obtener. Así que en este caso, la edad. Y cuando decimos el nombre, bueno, dice nombre, perfecto. Simplemente llamémoslo 'get' para ver con qué estamos trabajando.

Y quizás hayas notado que siempre devuelve 'undefined', ¿por qué es eso? Bueno, porque no estamos devolviendo nada. Te dije que podemos sobrescribir completamente esta función, pero ahora la rompimos. Tenemos que volver a codificar la funcionalidad. Entonces lo que vamos a hacer es simplemente devolver el objetivo con el valor de la clave. Bien, veamos si eso funcionó. Como un encanto. Perfecto.

Ahora sobrescribamos el 'setter'. El 'setter' toma un argumento adicional, el valor. Permíteme ser un poco perezoso y copiar esto. Establecer la clave en el valor. ¿Qué sucede cuando establecemos el nombre en Jimmy, por ejemplo? Sí, establecemos y luego el nombre. ¿A qué valor queremos establecer el nombre? Jimmy. Entonces, ahora cuando vamos a, cuando mostramos el nombre, no cambió, ¿por qué? Porque nuevamente no lo establecimos. Simplemente sobrescribimos nuestra función original y la rompimos. De acuerdo, arreglemos eso. Establezcamos la clave en el objetivo con el nuevo valor y probemos de nuevo. El nombre es Jimmy. Y luego, cuando intentamos leer el nombre, ¡hey, se actualizó, perfecto!

Entonces ahora hemos interceptado estas funciones, pero ¿qué debemos hacer con ellas? En la reactividad de Vue, hacemos algo así, aquí en el 'get', hacemos un seguimiento, hacemos algo que se llama seguimiento, y aquí en el 'setter', algo que se llama activación. Bueno, en realidad, pasamos el objetivo y la clave aquí. Entonces, lo que hace esto es que el seguimiento es, nos damos cuenta de que hay algo que, en efecto, algo que quiere ser observado, así que lo tomamos y lo escribimos como una dependencia, y luego cuando algo cambia, cuando establecemos un nuevo valor, lo activamos. Así que le decimos al sistema, ¡hey, algo cambió aquí! Pero eso se vuelve demasiado profundo, y tengo otra charla en una conferencia o varias charlas en conferencias sobre este tema donde profundizo un poco más en la reactividad de Vue 3, pero por ahora, esto es suficiente. Además, en la versión real de la reactividad de Vue 3, no usamos esto, usamos algo llamado 'reflect' para resolver algunas advertencias, pero no voy a entrar en eso demasiado, porque ahora estamos viendo algo diferente. Entonces, Vue 3 tiene una función llamada 'reactivity', y es más o menos algo como esto.

5. Usando VueJS en el Backend

Short description:

Función, no se llama reactividad, se llama reactivo. Hacemos un proxy del objetivo y lo devolvemos. Para hacer un objeto reactivo, usamos la función reactivo. En la demostración, tenemos un servidor express con tres rutas: unirse, salir y mensaje. Por ahora, no hay autenticación ni interacción real del usuario. Primero, agregamos VueJS al backend usando yarn add Vue.at.next. Luego importamos las funciones necesarias y creamos un arreglo reactivo llamado usuarios.

Función, no se llama reactivity, se llama reactivo, lo siento. Entonces pasamos aquí el objetivo, ¿y qué hacemos con él? Simplemente hacemos un proxy de él, así como esto. Y devolvemos el proxy, y aquí, no es la persona, es el objetivo que pasamos. Entonces ahora, si queremos hacer que un objeto sea reactivo, todo lo que tenemos que hacer es reactivar esto.

De acuerdo, vamos a probarlo. Muy bien, vamos a obtener el valor, por ejemplo, la edad. Así invoca nuestro gancho de obtención donde bloqueamos las cosas, y en la versión real de tu reactivity, hacemos un seguimiento. Entonces le decimos al sistema que queremos saber cuándo cambia la edad, y luego cuando cambia, lo activamos. Así que le decimos al sistema, hey, esto cambió, y luego haz tu cosa y ejecuta ese efecto secundario que debe hacerse.

De acuerdo, esto son proxies. Ahora vamos a pasar a una demostración donde voy a usar todo esto en el backend. De acuerdo, este es mi backend, no hay nada impresionante sucediendo aquí. Es solo mi servidor express, aburrido, y tres rutas con las que trabajo. Una es unirse, salir y mensaje. También se replican en mi cliente REST, llamado Insomnia. Iniciar sesión, solo pasa el nombre de usuario, mensaje, qué nombre de usuario y qué texto. Y luego salir, nuevamente el nombre de usuario. Entonces aquí no hay authentication, no hay interacción real con usuarios reales. Todo eso es algo que tenemos que imaginar que se agregará más adelante. Pero por el momento, centrémonos en la reactivity para este caso. De acuerdo, lo primero que tenemos que hacer, en realidad, es agregar VueJS en nuestro backend. ¿Cómo hacemos eso? Vamos a yarn add Vue.at.next, si haces Vue.at.next, es la versión 3, de acuerdo, está instalado. Ocultemos la barra lateral, perfecto. De acuerdo, primero importemos algunas cosas que necesitamos. RequireVue. ¿Y qué necesitamos? Necesitamos la función reactivo que vimos anteriormente, necesitamos efecto, vamos a llegar a eso más adelante, qué es exactamente eso, y podríamos usar una propiedad computada. De acuerdo, hasta ahora todo bien. Y creemos un arreglo reactivo llamado usuarios. isReactive y es un arreglo vacío para empezar. De acuerdo, hasta ahora todo bien, aún no ha sucedido nada porque aún no hemos escrito ningún código real, pero comencemos con unirse.

6. Agregando Usuario al Arreglo y Mostrando Mensaje de Unión

Short description:

De acuerdo, cuando ejecutamos la función unirse, agregamos el usuario al arreglo. El primer efecto que usamos es console.log la longitud del arreglo. Pasamos una función que se ejecuta cuando cambia la longitud de usuariosCambiados. Queremos mostrar 'El usuario [nombre de usuario] se unió al chat' para el último usuario en el arreglo. Para hacer esto, accedemos al último índice del arreglo y verificamos si el usuario existe. Si no existe, ignoramos el resto de la función.

De acuerdo, unirse. Cuando ejecutamos esto, queremos agregar este usuario al arreglo. Así que esta es la parte más fácil. Simplemente hacemos usuarios.push, ¿y qué empujamos? El cuerpo de nuestra solicitud, que es exactamente esto, solo el nombre de usuario.

De acuerdo, cuando hacemos esto ahora, no sucede nada porque aún no estamos reaccionando a ello. Ese es nuestro primer efecto. Te dije que explicaría qué hace este efecto, pero para hacerlo, permíteme escribir el efecto primero y luego explicar esto. Aquí console.log usuariosCambiados y solo vamos a la longitud del arreglo. Cuando vamos allí ahora, decimos usuariosCambiados 1, 2, 3, 4, 5.

Este efecto, cómo funciona, es que pasas una función aquí que si algo dentro de esta función cambia, entonces ejecuta la función nuevamente. Puede parecer un poco complicado, pero esa es la forma más fácil de explicarlo. Si algo dentro de una función cambia, ejecútalo. En este caso, la longitud de usuariosCambiados, por lo que se ejecuta. Así que es solo una salida.

Pero no queremos acceder aquí solo a esto. Queremos hacer algo como esto. El usuario esto y esto se unió al chat. Y va a ser algo como usuario.nombreDeUsuario. Solo tenemos que obtener primero al usuario. Entonces el usuario va a ser el último en el arreglo, porque cuando agregas algo a un arreglo, está en la última posición. Esto es conveniente para nosotros, porque es algo fácil de hacer. Solo accedemos al índice de longitud menos uno. Y aquí nuevamente, porque aquí accedemos a la longitud del usuario, esto se ejecuta cuando cambia. Así que esperemos que esto funcione. No funcionó. ¿Por qué? Nombre de usuario de indefinido. Por supuesto, está indefinido al principio. Así que tenemos que hacer una pequeña verificación aquí. Si no hay usuario, simplemente regresamos y ignoramos el resto. De acuerdo, veamos.

7. Implementando Funcionalidad de Salida de Usuario

Short description:

Ahora funciona. Establecemos leave en true cuando un usuario quiere salir. Luego encontramos al usuario con el mismo nombre de usuario que en el cuerpo de la solicitud y filtramos aquellos que ya se hayan ido. Si hay un usuario, establecemos su estado de salida en true.

Ahora funciona. Luego enviamos la solicitud y ¡BAM! Funcionó. Esto es perfecto. Así que el usuario mark se unió. Increíble.

Ahora para salir, eso es lo siguiente que vamos a codificar. ¿Cómo? Cuando el usuario se va. Y esto es un poco más complicado porque vamos a hacer algo un poco más inconvencional. Así que digamos que el nombre de usuario, tenemos algo como esto, ¿verdad? Lo que hacemos es establecer leave en true. Así que este usuario se está yendo. Y luego nuestro efecto va a capturar eso y luego establecerá left en true. Así que sabemos cuándo un usuario quiere irse. Y luego sabemos cuándo se completa la acción. Así que eso es lo que vamos a hacer.

Primero, necesitamos usar eso que se está yendo. Y luego lo vamos a hacer así. Donde está el usuario, encontramos. Encontramos un usuario donde el nombre de usuario es el mismo que pasamos aquí en el cuerpo de la solicitud. Así que un cuerpo de solicitud. Vamos. Cuerpo nombre de usuario. De acuerdo. Y también si aún no se han ido. Así que filtramos los que ya se han marcado como idos. De acuerdo. Y luego nuevamente, aquí podríamos encontrar algunos problemas si no hay un usuario. Así que si no hay un usuario, no hacemos nada. Y si lo hay, establecemos leave del usuario en true. De acuerdo. Entonces sí, esto va a encontrar al usuario con el nombre de usuario que es el mismo que pasamos aquí y que aún no se ha ido.

8. Implementando Salida de Usuario y Envío de Mensajes

Short description:

Para permitir que los usuarios se vayan, creamos un efecto que establece la propiedad 'left' en true para los usuarios que desean irse y registra el nombre de usuario del usuario. A continuación, implementamos el envío de mensajes agregando una matriz reactiva llamada 'messages' y agregando nuevos mensajes a ella. Registramos el nombre de usuario y el texto del mensaje. Desafortunadamente, no tenemos tiempo para cubrir más temas como propiedades computadas. Gracias por su atención y no dude en contactarme en Twitter si tiene alguna pregunta adicional.

Simplemente, bueno, él quería irse pero la operación aún no se ha completado. Entonces, para hacer eso, permítanme crear un efecto. Y aquí, vamos a hacer lo siguiente. Filtramos los usuarios, para los usuarios que se están yendo. Dejar y, pero no los que aún no se han ido. Entonces, y no se han ido. Y para todos estos, hacemos lo siguiente. Bueno, vamos a la siguiente línea. Establecemos left en true y registramos al usuario que se ha ido. Y esto será user.username. Muy bien, vamos a probarlo. Bueno, primero unirse, mark join, perfecto. Salir, mark left, perfecto. Nuevamente, no funciona porque no hay ninguno en la lista. De acuerdo, perfecto.

Muy bien, la última parte es enviar mensajes. Para eso, necesitamos otra matriz, una matriz reactiva, messages. Y aquí necesitamos agregar el mensaje. Messages.push, cuerpo de la solicitud, genial. Y luego necesitamos un efecto similar a los que teníamos para los usuarios. Así que simplemente lo copiaré y reemplazaré user por message y vamos a registrar otro mensaje. Así que ponemos el usuario entre paréntesis y luego escribimos el mensaje. Entonces es message.username, genial. Y luego message.text, oops. Ok, vamos a probar eso. Vamos a iniciar sesión, funciona. Vamos a enviar un mensaje y eso también funciona, genial. Y vamos a salir, genial.

Muy bien, desafortunadamente hemos terminado. Me hubiera encantado mostrarte mucho más, por ejemplo, propiedades computadas, pero eso simplemente no está en el tiempo, pero así es como podríamos usar Vue.js en el backend. Por supuesto, esto no es exactamente cómo implementarías el chat, pero es solo para visualizar o mostrarte lo que es posible con Vue en el backend. Con eso, muchas gracias por su atención y, por supuesto, por no quedarse dormido. Y si tienes más preguntas sobre esto, asegúrate de enviarme un mensaje directo en Twitter, te responderé y sí, que tengas un excelente resto de la conferencia. ♪♪♪

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

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
State management is not limited to complex applications and transitioning to a store offers significant benefits. Pinia is a centralized state management solution compatible with Vue 2 and Vue 3, providing advanced devtools support and extensibility with plugins. The core API of Pinia is similar to Vuex, but with a less verbose version of stores and powerful plugins. Pinia allows for easy state inspection, error handling, and testing. It is recommended to create one file per store for better organization and Pinia offers a more efficient performance compared to V-rex.
Bienvenido a Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Bienvenido a Nuxt 3
Top Content
Nux3 has made significant improvements in performance, output optimization, and serverless support. Nuxt Bridge brings the Nitro engine for enhanced performance and easier transition between Nuxt 2 and Nuxt Read. Nuxt 3 supports Webpack 5, Bytes, and Vue 3. NextLab has developed brand new websites using Docus technology. Nuxt.js is recommended for building apps faster and simpler, and Nuxt 2 should be used before migrating to Nuxt 3 for stability. DOCUS is a new project that combines Nuxt with additional features like content modules and an admin panel.
Un Año en Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
Un Año en Vue 3
Top Content
Vue 3 has seen significant adoption and improvements in performance, bundle size, architecture, and TypeScript integration. The ecosystem around Vue 3 is catching up, with new tools and frameworks being developed. The Vue.js.org documentation is undergoing a complete overhaul. PNIA is emerging as the go-to state management solution for Vue 3. The options API and composition API are both viable options in Vue 3, with the choice depending on factors such as complexity and familiarity with TypeScript. Vue 3 continues to support CDN installation and is recommended for new projects.
Utilizando Rust desde Vue con WebAssembly
Vue.js London Live 2021Vue.js London Live 2021
8 min
Utilizando Rust desde Vue con WebAssembly
Top Content
In this Talk, the speaker demonstrates how to use Rust with WebAssembly in a Vue.js project. They explain that WebAssembly is a binary format that allows for high-performance code and less memory usage in the browser. The speaker shows how to build a Rust example using the WasmPack tool and integrate it into a Vue template. They also demonstrate how to call Rust code from a Vue component and deploy the resulting package to npm for easy sharing and consumption.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
This Talk discusses handling local state in software development, particularly when dealing with asynchronous behavior and API requests. It explores the challenges of managing global state and the need for actions when handling server data. The Talk also highlights the issue of fetching data not in Vuex and the challenges of keeping data up-to-date in Vuex. It mentions alternative tools like Apollo Client and React Query for handling local state. The Talk concludes with a discussion on GitLab going public and the celebration that followed.

Workshops on related topic

Monitoreo 101 para Desarrolladores de React
React Summit US 2023React Summit US 2023
107 min
Monitoreo 101 para Desarrolladores de React
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Si encontrar errores en tu proyecto frontend es como buscar una aguja en un pajar de código, entonces el monitoreo de errores de Sentry puede ser tu detector de metales. Aprende los conceptos básicos del monitoreo de errores con Sentry. Ya sea que estés ejecutando un proyecto de React, Angular, Vue, o simplemente JavaScript “vainilla”, mira cómo Sentry puede ayudarte a encontrar el quién, qué, cuándo y dónde detrás de los errores en tu proyecto frontend.
Nivel de la masterclass: Intermedio
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.
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
Workshop
Mikhail Kuznetsov
Mikhail Kuznetsov
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 un Servidor Web Hiper Rápido con Deno
JSNation Live 2021JSNation Live 2021
156 min
Construyendo un Servidor Web Hiper Rápido con Deno
Workshop
Matt Landers
Will Johnston
2 authors
Deno 1.9 introdujo una nueva API de servidor web que aprovecha Hyper, una implementación rápida y correcta de HTTP para Rust. El uso de esta API en lugar de la implementación std/http aumenta el rendimiento y proporciona soporte para HTTP2. En este masterclass, aprende cómo crear un servidor web utilizando Hyper en el fondo y mejorar el rendimiento de tus aplicaciones web.
TresJS crea experiencias 3D de forma declarativa con componentes Vue
Vue.js London 2023Vue.js London 2023
137 min
TresJS crea experiencias 3D de forma declarativa con componentes Vue
Workshop
Alvaro Saburido
Alvaro Saburido
- Introducción a 3D- Introducción a WebGL- ThreeJS- Por qué TresJS- Instalación o configuración de Stackblitz- Conceptos básicos- Configuración del lienzo- Escena- Cámara- Agregar un objeto- Geometrías- Argumentos- Props- Slots- El bucle- Composable UseRenderLoop- Callbacks antes y después de la renderización- Animaciones básicas- Materiales- Material básico- Material normal- Material Toon- Material Lambert- Material estándar y físico- Metalness, roughness- Luces- Luz ambiental- Luz direccional- Luces puntuales- Sombras- Texturas- Cargar texturas con useTextures- Consejos y trucos- Misceláneo- Controles de órbita- Cargar modelos con Cientos- Depuración de tu escena- Rendimiento
Construyendo formularios Vue con VeeValidate
Vue.js London Live 2021Vue.js London Live 2021
176 min
Construyendo formularios Vue con VeeValidate
Workshop
Abdelrahman Awad
Abdelrahman Awad
En este masterclass, aprenderás cómo usar vee-validate para manejar la validación de formularios, gestionar los valores de los formularios y manejar las presentaciones de manera efectiva. Comenzaremos desde lo básico con un formulario de inicio de sesión simple hasta el uso de la API de composición y la construcción de formularios repetibles y de múltiples pasos.

Tabla de contenidos:
- Introducción a vee-validate
- Construcción de un formulario básico con componentes vee-validate
- Manejo de validación y presentaciones de formularios
- Construcción de componentes de entrada validables con la API de composición
- Arrays de campos e inputs repetibles
- Construcción de un formulario de múltiples pasos
Prerrequisitos:
Configuración de VSCode y un proyecto Vite + Vue vacío.