Nuevas formas de Vue

Rate this content
Bookmark

Breve introducción a las nuevas características de Vue 3 y Vite, luego enfocarse en cómo esas características / mentalidad afectan la forma en que pensamos en las herramientas y la experiencia del desarrollador. Lo cual nos lleva a mi proyecto Vitesse y varios unplugins que mejoran aún más la experiencia del desarrollador de Vue (haré algunas demostraciones cortas en el medio). Finalmente, presentar las formas de utilizar esas nuevas características en las aplicaciones existentes de Vue 2 hoy y facilitar las migraciones.

FAQ

Vue 3 introduce un nuevo conjunto de API llamado API de composición, que simplifica la estructura del código al usar una función llamada setup. Ofrece un mejor soporte de TypeScript, mejor composabilidad y la posibilidad de reutilizar la lógica de los componentes de manera más eficiente.

Vite es un servidor de desarrollo que utiliza el soporte nativo de ESM del navegador, permitiendo un inicio más rápido del servidor y transpilaciones de módulos cuando es necesario. Mejora el rendimiento mediante la sustitución de módulos en tiempo real y simplifica la configuración en comparación con herramientas como Webpack.

La nueva sintaxis de configuración de script en Vue 3 permite declarar variables, funciones y componentes en el nivel superior de los archivos, haciendo que estén directamente disponibles dentro de los componentes sin necesidad de registro adicional, lo que simplifica y reduce la cantidad de código necesario.

La auto-importación de componentes mediante el complemento de Vite permite usar componentes en las plantillas sin necesidad de importarlos explícitamente. Mejora la división de código, elimina la necesidad de registros manuales y optimiza la resolución de componentes para mejorar el rendimiento.

Anthony Fu agradece el patrocinio a través de GitHub para apoyar su trabajo en proyectos de código abierto. Los interesados pueden encontrar y patrocinar su trabajo directamente en su perfil de GitHub.

Para los usuarios de Vue 2, se ofrecen polyfills y paquetes como vue-composition-api y Unplugin vue 2 square setup para incorporar características de Vue 3, como la API de composición. Además, hay complementos de Vite específicos para mejorar la experiencia de desarrollo en Vue 2 y Nuxt 2.

Unplugin es una interfaz de complemento universal compatible con diversas herramientas como Webpack, Vite y Rollup. Permite a los desarrolladores escribir un complemento una vez y usarlo en diferentes frameworks y herramientas, facilitando la integración y la reutilización de código en diversos entornos de desarrollo.

Anthony Fu
Anthony Fu
16 min
21 Oct, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla discutió nuevas formas de usar Vue, incluyendo la introducción de la API de composición y la sintaxis de configuración de scripts. Se destacó la herramienta Vite por sus mejoras de rendimiento y mejoras en la experiencia del desarrollador. Se presentó la importación automática de componentes a través de los componentes del plugin Vite como una forma de mejorar la división de código y eliminar el registro manual. También se discutió el uso de los plugins Vite, Unplugin y el soporte de Vue 2. La charla mencionó que Nuxt 3 incluirá muchas de estas características.

Available in English: New Ways to Vue

1. Introducción a las nuevas formas de Vue

Short description:

Hola a todos, me alegra estar aquí en Vue London. Hoy mi tema es las nuevas formas de Vue, cómo las nuevas herramientas y técnicas afectan la forma en que usamos Vue y construimos aplicaciones. En Vue 3, introdujimos un nuevo conjunto de API llamado API de composición. En la API de composición, solo tenemos una función llamada setup. Las funciones del ciclo de vida ahora se proporcionan como hooks, por lo que podemos tener un mejor soporte de TypeScript y una mejor composabilidad.

Hola a todos, me alegra estar aquí en Vue London. Hoy mi tema es las nuevas formas de Vue, cómo las nuevas herramientas y técnicas afectan la forma en que usamos Vue y construimos aplicaciones. Mi nombre es Anthony Fu, y soy miembro colaborador de Vue y Vite. También soy el creador de SlideDev, Vueuse, VDesk y otros proyectos de código abierto. Soy un fanático del código abierto y actualmente trabajo en Nuxt Labs. Mi nombre de usuario en GitHub es antfu, también puedes encontrarme en Twitter. Antes de comenzar, quiero agradecer a todos mis patrocinadores por apoyar mi trabajo. Si encuentras mi trabajo útil, también puedes patrocinarme en GitHub, significaría mucho para mí.

Entonces hablemos sobre el tema de hoy, las nuevas formas de Vue. Comencemos hablando de Vue 2 primero. Debajo de eso, tenemos los componentes de archivo único de Vue. En este componente, tenemos una etiqueta de plantilla y una etiqueta de script. En la etiqueta de script, necesitaremos importar las cosas que queremos. Por ejemplo, import Vue from 'vue' y luego exportar el objeto de componentes predeterminado usando Vue.extend, y luego necesitaremos registrar nuestros componentes, hacer cosas y declarar datos y métodos. El problema aquí es que tenemos demasiado código de plegado de Scala para cada componente, y también las mezclas están limitadas para la reutilización de nuestro código y también tenemos algunos problemas de soporte de TypeScript.

Para resolver esto, en Vue 3, introdujimos un nuevo conjunto de API llamado API de composición. Hagamos una comparación rápida aquí. A la izquierda, tenemos la API de opciones, y a la derecha, tenemos la nueva API de composición. Como puedes ver, en la API de opciones, solíamos tener múltiples propiedades para el objeto. Por ejemplo, tenían método, crear, y así sucesivamente. Pero en la API de composición, solo tenemos una función llamada setup. Las funciones del ciclo de vida ahora se proporcionan como hooks, por lo que puedes usarlas dentro de nuestras funciones de setup. Así que tenemos todo dentro del contexto único. De esta manera, podemos tener un mejor soporte de TypeScript. Pero además de eso, lo más importante es que podemos tener una mejor composabilidad. Por ejemplo, tenemos un componente con las funciones de setup. Si queremos reutilizar esta lógica, simplemente podemos copiarla y tenerla dentro de nuevos archivos y envolverla con las funciones. En este caso, lo llamamos useDark. Entonces podemos refactorizar nuestros componentes para importar las funciones useDark y reutilizarlas. Los componentes se comportarán exactamente igual que antes, pero ahora podemos reutilizar nuestras funciones dentro de otros componentes y tener una mejor organización de nuestra lógica.

2. Sintaxis de configuración de script y herramientas de Vite

Short description:

En la nueva sintaxis de configuración de script, las variables, funciones y componentes dentro de la configuración de script están disponibles directamente dentro de los componentes. La sintaxis V-bind dentro de la etiqueta de estilo permite una mejor organización de la plantilla y el estilo. Vue 3 y Vite ofrecen un mejor rendimiento, experiencia de desarrollo y nuevas formas de utilizar Vue. Con la nueva sintaxis de configuración de script, ya no es necesario registrar componentes. La importación automática de componentes a través del complemento de componentes de Vite proporciona una mejor división de código y elimina la necesidad de registro manual.

Entonces hablemos sobre la sintaxis de configuración de script. Como puedes ver, incluso con la nueva API de composición, tenemos muchos códigos de andamiaje en nuestros componentes. Por ejemplo, en este caso, las líneas resaltadas son las cosas que realmente nos importan, pero debemos escribir el resto para que Vue lo entienda. En la nueva sintaxis de configuración de script, podemos declararlos todos en el nivel superior. Y las variables, funciones y componentes dentro de la configuración de script están disponibles directamente dentro de los componentes. Esto se introdujo inicialmente en Vue 3.1 como una función experimental y ahora es estable en Vue 3.2.

Otra nueva característica es la sintaxis V-bind dentro de la etiqueta de estilo. En el pasado, si queríamos tener estilos dinámicos en los componentes, primero debíamos declarar algunos datos reactivos dentro de la sección de datos y luego vincular los datos dentro de la plantilla. Pero ahora, con V-bind, podemos tener la vinculación dentro de nuestra etiqueta de estilo, lo que nos permite tener una mejor organización de la plantilla y el estilo.

Finalmente, hablemos de la nueva herramienta predeterminada, Vite. ¿Qué es Vite? Apuesto a que muchos de ustedes ya han oído hablar de eso, pero en caso de que no, hagamos una breve introducción. Solíamos tener empaquetadores como Webpack y Rollup. El problema con ellos es que generalmente están diseñados para la construcción de producción y necesitan empaquetar todo el proyecto para iniciar el servidor de desarrollo. También implican configuraciones complejas y las sustituciones de módulos se vuelven más lentas a medida que el proyecto crece. Ahora tenemos servidores de desarrollo, como Snowpack y Vite. Estos servidores de desarrollo están diseñados específicamente para el desarrollo web. Aprovechamos el soporte nativo de ESM del navegador y ya no necesitamos empaquetar el código. El servidor se inicia de inmediato y solo transpilamos los módulos según sea necesario. De esta manera, también tenemos sustituciones de módulos en tiempo real y muchas más posibilidades. Entonces, ¿qué nos ofrecen Vue 3 y Vite? No solo un mejor rendimiento y una mejor experiencia de desarrollo, sino también nuevas formas de utilizar Vue. Veamos cómo usamos los componentes de Vue. Primero, necesitamos importarlos y darles un nombre, y luego registrar los componentes para poder usarlos en la plantilla. El problema aquí es que nuestro código se vuelve bastante verboso y el nombre de cada componente se repite al menos cuatro veces. Esto no solo ralentiza nuestro desarrollo, sino que también cambiar el nombre de los componentes se vuelve bastante frustrante. Con la nueva sintaxis de configuración de script, ya no es necesario registrar los componentes. Pero el problema es que el nombre aún se repite tres veces. ¿Y si podemos mejorarlo? Introduzcamos la importación automática de componentes a través del complemento de componentes de Vite. Dado que ya conocemos el nombre de cada componente, podemos mapearlos directamente para usarlos en la plantilla. ¿Cómo lo hacemos? Utilizamos la resolución de componentes en tiempo de compilación para los componentes en el directorio de componentes de origen. El uso es similar al de los registros globales, pero la diferencia es que con la importación automática, podemos lograr una mejor división de código y ya no necesitamos hacer el registro manual.

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

Vite: Repensando las Herramientas de Frontend
JSNation Live 2021JSNation Live 2021
31 min
Vite: Repensando las Herramientas de Frontend
Top Content
Vite es una nueva herramienta de construcción que pretende proporcionar un flujo de trabajo más delgado, rápido y sin fricciones para la construcción de aplicaciones web modernas. Esta charla se sumergirá en el trasfondo del proyecto, la justificación, los detalles técnicos y las decisiones de diseño: qué problema resuelve, qué lo hace rápido y cómo encaja en el panorama de las herramientas JS.
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.
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.
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 puede sonar aún nuevo para muchos usuarios, pero en realidad ya ha sido lanzado hace más de un año. ¿Cómo evolucionó Vue 3 durante este período? ¿Por qué tardó tanto en ponerse al día el ecosistema? ¿Qué aprendimos de este proceso? ¿Qué viene después? ¡Discutiremos estas preguntas en esta charla!
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
Rust es un nuevo lenguaje para escribir código de alto rendimiento, que puede ser compilado a WebAssembly, y ejecutado dentro del navegador. En esta charla se te guiará sobre cómo puedes integrar Rust, dentro de una aplicación Vue, de una manera que es sencilla y fácil. Con ejemplos de cómo interactuar con Rust desde JavaScript, y algunas de las trampas a tener en cuenta.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
El creador de Vue js da una actualización sobre las nuevas características de la tecnología.

Workshops on related topic

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
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.
Embarcándonos en una aventura con Nuxt 3, Motion UI y Azure
JSNation 2022JSNation 2022
141 min
Embarcándonos en una aventura con Nuxt 3, Motion UI y Azure
WorkshopFree
Melanie de Leeuw
Melanie de Leeuw
¡Nos encantan las aplicaciones web fáciles de crear y desplegar! Entonces, veamos qué puede hacer una pila tecnológica muy actual como Nuxt 3, Motion UI y Azure Static Web Apps. Podría ser perfectamente un trío de oro en el desarrollo web moderno. O podría ser una hoguera de errores y problemas. De cualquier manera, será una aventura de aprendizaje para todos nosotros. Nuxt 3 se lanzó hace apenas unos meses y no podemos esperar más para explorar sus nuevas características, como su compatibilidad con Vue 3 y el Motor Nitro. Agregamos un poco de estilo a nuestra aplicación con la biblioteca Sass Motion UI, porque el diseño estático está pasado de moda y las animaciones vuelven a estar de moda.Nuestra fuerza impulsora de la pila será Azure. Las aplicaciones web estáticas de Azure son nuevas, casi listas para producción y una forma ingeniosa y rápida para que los desarrolladores desplieguen sus sitios web. Así que, por supuesto, debemos probar esto.Con algunas Azure Functions esparcidas por encima, exploraremos lo que puede hacer el desarrollo web en 2022.
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.
Construyendo aplicaciones GraphQL de pila completa con Hasura y Vue 3
Vue.js London Live 2021Vue.js London Live 2021
115 min
Construyendo aplicaciones GraphQL de pila completa con Hasura y Vue 3
WorkshopFree
Gavin Ray
Gavin Ray
El ecosistema frontend avanza a un ritmo frenético. Este masterclass tiene como objetivo equipar a los participantes con una comprensión del estado del ecosistema Vue 3 + GraphQL, explorando ese ecosistema - prácticamente y a través del desarrollo de aplicaciones de pila completa.

Tabla de contenidos
- Los participantes utilizarán Hasura para construir una API GraphQL en tiempo real respaldada por Postgres. Juntos recorreremos su consumo desde un frontend y haremos que el frontend sea reactivo, suscrito a los cambios de datos.
- Además, analizaremos las herramientas comúnmente utilizadas en el stack Vue GraphQL (como Apollo Client y Urql), discutiremos algunas alternativas menos conocidas y abordaremos los problemas frecuentemente encontrados al comenzar.
- Se describirán varios patrones para gestionar datos con estado y sus compensaciones durante el masterclass, y se mostrará una implementación básica para cada patrón discutido.
Nivel del masterclass

NOTA: No se requiere experiencia previa con GraphQL, pero puede ser útil para ayudar a la comprensión. Se cubrirán los fundamentos.