Vue3: Desarrollo Moderno de Aplicaciones Frontend

Rate this content
Bookmark

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

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

FAQ

En Vue 3, puedes utilizar variables CSS mediante el uso de la biblioteca VueUse y el hook 'useCSSVar'. Este hook te permite leer y modificar variables CSS directamente desde tus componentes Vue, facilitando la manipulación dinámica de estilos basados en propiedades CSS.

Vue Demi es una herramienta que te permite escribir bibliotecas o plugins que son compatibles tanto con Vue 2 como con Vue 3. Funciona redirigiendo las importaciones necesarias a la versión correcta de Vue, basada en la configuración del proyecto, lo que es especialmente útil para autores de bibliotecas durante periodos de transición entre versiones.

Vue 3 ofrece mejoras como la Composition API, que proporciona una mejor organización del código y reutilización de la lógica, múltiples modelos V-model en un componente, y mejor soporte para TypeScript. Además, tiene mejoras de rendimiento gracias a su sistema de reactividad basado en proxies.

La Composition API es una nueva característica en Vue 3 que permite una mejor organización del código y reutilización de la lógica. Ofrece una forma más flexible de estructurar los componentes utilizando funciones reutilizables llamadas composables, mejorando la escalabilidad y mantenibilidad del código.

VueUse es una colección de utilities componibles para Vue que facilita muchas tareas comunes y mejora la reactividad y la gestión de estado. Proporciona hooks predefinidos para interactuar con diversas APIs del navegador y funciones comunes, permitiendo un desarrollo más eficiente y organizado.

Puedes usar una herramienta llamada Vue Demi que permite soportar tanto Vue 2 como Vue 3, facilitando la migración. Además, existe una configuración de migración en la documentación oficial de Vue donde puedes habilitar características de Vue 3 gradualmente, reemplazando Vue 2 con Vue 3 y ajustando las configuraciones conforme avanzas en la migración.

Mikhail Kuznetsov
Mikhail Kuznetsov
169 min
26 Oct, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
La masterclass se centró en las características de Vue 3, específicamente la API de Composición. Vue 3 introdujo mejoras significativas y la API de composición permite la modularidad y un mejor soporte de TypeScript. La adopción de la API de composición en Vue 3 está creciendo, especialmente en proyectos más grandes. La API de Composición de Vue puede usarse con bibliotecas principales como Vuex y Vue Router, y la biblioteca VueUse proporciona hooks y comportamientos para mejorar los componentes de Vue. La masterclass mostró cómo usar la API de composición con Vue CLI, almacenar datos, extraer lógica, trabajar con props, emitir eventos e implementar funcionalidad de búsqueda.

1. Introducción y Resumen de la Masterclass

Short description:

Soy Mikhail y dirigiré la masterclass de hoy sobre las características de Vue 3. Nos centraremos en la API de composición y mostraré sus beneficios en una demostración. He estado usando Vue desde la versión 1 y me he convertido en un gran fan. Sígueme en Twitter para más contenido de Vue y desarrollo de front-end. Hagamos una rápida ronda de presentaciones para entender la pila técnica de la audiencia.

Soy Mikhail y dirigiré la workshop de hoy sobre las características de Vue 3. Estoy realmente contento de ver muchos mensajes en el chat. Genial, genial, chicos. Veo que definitivamente pueden oírme, y espero que puedan ver la imagen claramente. Así que si en el camino hay alguna perturbación con el video o la calidad del sonido, por favor, háganmelo saber. Eso no debería suceder normalmente, pero veremos. Genial.

Entonces vamos... Creo que ya es suficiente tiempo para que la gente se una, sigamos adelante. Entonces, ¿de qué vamos a hablar hoy? Principalmente nos centraremos en Vue 3, la tercera versión. Y comenzaré con una introducción básica luego haré una inmersión más profunda en las características de Vue 3, principalmente la composition API, y luego entraremos en modo demo, cuando estaré mostrando la mayoría de los elementos que trae la composition api. Permítanme presentarme rápidamente, Mikhail. He estado desarrollando web durante más de una década. Actualmente trabajo como líder de equipo en ING Bank en Ámsterdam. Empecé a usar Vue alrededor de 2016, cuando todavía era la versión 1, y de hecho cuando Geiss lanzó la versión 2, me fascinó lo fácil y componible que es construir interfaces de usuario web complejas. Y también el ecosystem documentation, todo era realmente agradable, así que me convertí en un gran fan de este framework. Desde entonces, lo he estado usando en muchos proyectos comerciales y personales también.

Pueden seguirme en Twitter. Este es un conjunto de caracteres difícil de pronunciar. Así que, por favor, si no pueden escribirlo, lo escribiré en el chat. Así que, estaré encantado de responder a sus preguntas en el chat, aquí durante la sesión, pero también síganme en Twitter. Intentaré publicar algunas cosas relacionadas con Vue y el desarrollo de front-end de vez en cuando.

Sí. También hagamos una rápida ronda de presentaciones. Eso también me ayudará a entender mejor el nivel de la audiencia y también servirá como una introducción para que sepamos la composición de los participantes de hoy. Entonces, ¿podrían escribir en una breve frase su pila técnica, qué otros frameworks o bibliotecas, lenguajes utilizan a diario. Si todavía están estudiando, también está bien. Solo puede ser back y front y no sé, diseño web, ciencia de datos, lo que sea, solo en una línea, algo como PHP, tres años, eso debería funcionar. Así que por favor compartan su pila actual o la pila que les interesa. Si están usando vue, por supuesto, sería bueno saber qué versión están usando principalmente. Así que por favor, les daré un minuto para esto y luego seguiremos adelante.

2. Introducción a Vue y Resumen de la Masterclass

Short description:

Sí, espero que les haya gustado. Estoy realmente feliz de presentar una masterclass en esta comunidad. Vue es un proyecto de código abierto impulsado por la comunidad, super exitoso con casi 200,000 estrellas en Github. Tiene un brillante ecosistema de herramientas y se utiliza mucho en la industria. Vue está ganando popularidad de manera constante y es una excelente opción para cualquier tamaño de proyecto. Pruébalo y también te puede gustar. Un componente típico de Vue tiene lógica y plantillas, donde puedes mostrar datos, vincular eventos y reutilizar partes u otros componentes. La parte principal está en el lado de JavaScript, donde defines propiedades, variables de estado y usas métodos para mutar datos. Esto se llama la API de opciones.

Sí, vi algunos primeros mensajes. Gracias Robert. Cambiando de Angular. Oh, esa es una historia muy conocida para mí. Sí, tuve el mismo desafío hace algunos años. Sí, creo que encontrarás muchos conceptos similares y sí, definitivamente la forma en que puedes componer componentes y reutilizar la lógica, definitivamente te debería gustar. Así que espero que te guste el viaje, Robert. Ricardo vue 2.0, barra tres. Genial, genial. Andrei, Laravel, PHP. Genial. Clement, gracias, gracias. Adam, Lucas. Bueno, muchas cosas que los chicos estaban usando aquí. Oh, bien, bien. Veo que a menudo se mencionan las vistas, lo cual es bueno porque estamos en la conferencia de Vue. Y sí, también veo que es, la versión 2.0 todavía se usa a menudo, lo cual es completamente comprensible. Es una versión estable, que estuvo con nosotros durante casi cuatro años. Y sí, incluso siendo un experto en la tercera versión, todavía a veces solo inicio un nuevo proyecto y rápidamente lo hago en la versión dos porque es como una memoria muscular y no necesitas pensar en conceptos complejos, pero sí, nos centraremos principalmente en la versión tres, que creo que es, será beneficioso para la mayoría de ustedes que todavía están usando la versión dos. Genial, genial, veo a Carloi, Barthek. Sí, gracias chicos. Gracias por todos los detalles. Realmente agradable. C Sharp desde la API de posición, Dave, jefe. Gracias, muy agradable. Genial, y también, así que estamos haciendo ahora la masterclass que es parte de la conferencia. Y por supuesto, los días en que la conferencia las actividades principales ya pasaron, pero sí, espero que les haya gustado. Escuché que hubo bastantes anuncios interesantes y charlas de los miembros del equipo central, así que estoy realmente feliz de presentar una masterclass en esta comunidad. Así que sigamos adelante, gracias por toda la información. De hecho, para aquellos que mencionaron React, tengo un par de diapositivas comparando los hooks de React con la API de Composición de Vue, así que eso también podría ser de ayuda para algunos. Oh, veo que Sergio también mencionó la masterclass de la Escuela Vue. Genial, sí, hice algo de contenido para la Escuela Vue, específicamente alrededor de la versión 3, sí. La Escuela Vue es una buena fuente de aprendizaje. Me alegra saber que la estás utilizando.

Bueno, una breve introducción sobre Vue, porque creo que la mayoría sabemos qué es, pero solo para recordar. Se llama Framework Progresivo de JavaScript. Comenzó alrededor de 2015 por un tipo llamado Ivan Yeo, que anteriormente desarrollaba AngularJS en Google. Y hoy en día, es un proyecto de código abierto super exitoso impulsado por la comunidad, que tiene, como veremos, casi 200,000 estrellas en Github. Tiene ciertas elecciones de diseño, como la lógica de la plantilla y la composición de datos para la lógica del componente, observadores, funciones calculadas, que las personas que usan Angular encontrarán familiares. Se basa en el concepto común, que se llama DOM virtual. El que también es ampliamente utilizado por React, y tiene un brillante ecosistema de herramientas. Veremos algunas de ellas hoy, como el CLI de Vue, para iniciar un proyecto, el router, para básicamente cambiar de páginas y diferentes partes de su viewport en el lado del cliente, el administrador de estado, que es un paquete separado llamado Vuex. También veremos esto hoy. También tiene soluciones de renderizado del lado del servidor como Nuxt. Así que si has visitado las charlas de la conferencia, probablemente aprendiste mucho sobre ellos. Así que hablaremos de algunos de ellos también. Y se utiliza mucho en la industria. No solo por equipos pequeños, sino también por empresas de nivel empresarial que necesitan reutilización de código y funcionalidad a escala. Entonces, sí, creo que es una excelente opción para cualquier tamaño de proyecto. Sí, solo un rápido resumen sobre el estado actual de las cosas. Sí, tenía este gráfico importado de npm compare. Y aquí puedes ver varias métricas como la cantidad de descargas de paquetes por día, supongo, o por semana, para tres frameworks principales. Así que puedes ver que Vue está teniendo constantemente el segundo lugar, que es quizás tres veces, cuatro veces menos que React. Sin embargo, en el recuento de estrellas, eso es significativamente más que para React. Creo que es un gran logro para un proyecto que es completamente comunitario, y fundado por Becca. No tiene ninguna gran corporación detrás de él. Así que creo que es realmente emocionante usar una herramienta así. Yo mismo escribí varios plugins. No son tan exitosos, pero fue una experiencia agradable, de hecho. Creo que la forma en que la documentación está alineada desde la versión dos y para la versión tres, también, lo hace realmente accesible y fácil para todos construir cosas personalizadas encima de Vue. Así que si no has probado a crear algún código reutilizable, código de código abierto para Vue, dale una oportunidad. Quizás también te guste.

Bueno. Déjame revisar. Bueno. Entonces sí, una breve mirada al campo. ¿Cómo se ve el componente típico de Vue? Así que tiene, como dije, lógica y plantillas, puedes mostrar datos de tu modelo y puedes vincularte a eventos y hacer ciertos, sí, reutilizar algunas partes de la plantilla, o reutilizar otros componentes en la plantilla. Y la parte principal está en el lado de JavaScript donde puedes definir tus propiedades, tus variables de estado usando una función de datos o un objeto de datos. Y puedes usar métodos para mutar estos datos, y puedes tener un montón de otras cosas como watch, computed, y otros tipos de variables. Así que toda esta parte básicamente se llama API de opciones.

QnA

Watch more workshops on topic

React, TypeScript y TDD
React Advanced 2021React Advanced 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Masterclass Web3 - Construyendo Tu Primer Dapp
React Advanced 2021React Advanced 2021
145 min
Masterclass Web3 - Construyendo Tu Primer Dapp
Top Content
Featured WorkshopFree
Nader Dabit
Nader Dabit
En esta masterclass, aprenderás cómo construir tu primer dapp de pila completa en la blockchain de Ethereum, leyendo y escribiendo datos en la red, y conectando una aplicación de front end al contrato que has desplegado. Al final de la masterclass, entenderás cómo configurar un entorno de desarrollo de pila completa, ejecutar un nodo local e interactuar con cualquier contrato inteligente usando React, HardHat y Ethers.js.
Fundamentos de Remix
React Summit 2022React Summit 2022
136 min
Fundamentos de Remix
Top Content
Featured WorkshopFree
Kent C. Dodds
Kent C. Dodds
Construir aplicaciones web modernas está lleno de complejidad. Y eso solo si te molestas en lidiar con los problemas
¿Cansado de conectar onSubmit a las API del backend y asegurarte de que tu caché del lado del cliente se mantenga actualizada? ¿No sería genial poder utilizar la naturaleza global de CSS en tu beneficio, en lugar de buscar herramientas o convenciones para evitarla o trabajar alrededor de ella? ¿Y qué te parecería tener diseños anidados con una gestión de datos inteligente y optimizada para el rendimiento que simplemente funciona™?
Remix resuelve algunos de estos problemas y elimina completamente el resto. Ni siquiera tienes que pensar en la gestión de la caché del servidor o en los conflictos del espacio de nombres global de CSS. No es que Remix tenga APIs para evitar estos problemas, simplemente no existen cuando estás usando Remix. Ah, y no necesitas ese enorme y complejo cliente graphql cuando estás usando Remix. Ellos te tienen cubierto. ¿Listo para construir aplicaciones más rápidas de manera más rápida?
Al final de esta masterclass, sabrás cómo:- Crear Rutas de Remix- Estilizar aplicaciones de Remix- Cargar datos en los cargadores de Remix- Mutar datos con formularios y acciones
Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
JSNation 2023JSNation 2023
174 min
Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
Top Content
Featured WorkshopFree
Alba Silvente Fuentes
Roberto Butti
2 authors
Esta masterclass de SvelteKit explora la integración de servicios de terceros, como Storyblok, en un proyecto SvelteKit. Los participantes aprenderán cómo crear un proyecto SvelteKit, aprovechar los componentes de Svelte y conectarse a APIs externas. La masterclass cubre conceptos importantes incluyendo SSR, CSR, generación de sitios estáticos y despliegue de la aplicación usando adaptadores. Al final de la masterclass, los asistentes tendrán una sólida comprensión de la construcción de aplicaciones SvelteKit con integraciones de API y estarán preparados para el despliegue.
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
Node Congress 2024Node Congress 2024
152 min
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
Featured Workshop
Emanuel Scirlet
Miguel Henriques
2 authors
Ven y aprende cómo puedes potenciar tus aplicaciones modernas y seguras utilizando GraphQL y Javascript. En este masterclass construiremos una API de GraphQL y demostraremos los beneficios del lenguaje de consulta para APIs y los casos de uso para los que es adecuado. Se requiere conocimiento básico de Javascript.
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)

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

No resuelvas problemas, elimínalos
React Advanced 2021React Advanced 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Kent C. Dodds discusses the concept of problem elimination rather than just problem-solving. He introduces the idea of a problem tree and the importance of avoiding creating solutions prematurely. Kent uses examples like Tesla's electric engine and Remix framework to illustrate the benefits of problem elimination. He emphasizes the value of trade-offs and taking the easier path, as well as the need to constantly re-evaluate and change approaches to eliminate problems.
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.