Vue como framework progresivo y reactivo
Clase 2 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
CLI y Dev Tools
- 3

Instalación de Vue.js: Node, Dev Tools y CLI
06:13 min - 4

Crear una aplicación Vue con CLI y webpack
12:49 min - 5

Cómo funciona webpack.config.js
10:38 min - 6

Babel: transpilador de JavaScript moderno
05:06 min - 7

ESLint con Standard JS: linteo automático en webpack
15:34 min - 8

Configuración de Sass y Bulma en Vue
06:18 min - 9

Cómo configurar Pug en Vue con webpack
04:23 min - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 min - 11
Creación de Vistas con Mockups y Vue.js
00:32 min
Manipulación del DOM
- 12

Expresiones en Vue: sintaxis doble llave
03:49 min - 13

Diferencia entre v-show y v-if en el DOM
06:22 min - 14

Qué es data binding en Vue.js
04:11 min - 15

Computed properties en Vue.js: cómo crearlas
04:13 min - 16

Qué son los watchers de Vue
02:25 min - 17

Eventos Vue: directiva v-on y métodos format
06:12 min - 18

Cómo construir una interfaz de búsqueda completa en Vue
19:03 min - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00 min
REST y HTTP
Sistema de Componentes
- 23

Cómo crear componentes en Vue
08:46 min - 24

Componentes Layout en Vue con Bulma
09:50 min - 25

Reactividad en Vue: $set y Object.assign
06:14 min - 26

Hooks del ciclo de vida en Vue.js
05:38 min - 27

Comunicación padre-hijo con props en Vue
23:27 min - 28

Eventos en Vue: comunicar hijo a padre
12:04 min - 29

Slots: HTML dinámico en componentes Vue
13:42 min - 30

Plugin Event Bus: comunicar componentes sin relación en Vue
19:19 min
Vue Router
Extendiendo VueJS
Clases, Animaciones y Transiciones36
Vuex
- 39

Cómo Vuex centraliza estados en Vue
03:41 min - 40

Instalación de Vuex con estado único
17:32 min - 41

Cómo usar mutations y commit en Vuex
08:16 min - 42

Getters de Vuex: mapGetters y store sincronizado
07:35 min - 43

Cómo dispatch ejecuta actions asincrónicas en ViewX
07:54 min - 44

Instalación de Viewex en Platzi Music
26:37 min
Nuxt.js
Deploy a Producción con Now
Conclusiones
Bonus
Vue.js destaca por su enfoque progresivo, su alto rendimiento y un ecosistema flexible que se adapta a tus necesidades. Desde proyectos sencillos hasta aplicaciones de gran escala, su reactividad, el sistema de componentes y un core pequeño pero escalable permiten crecer sin fricción.
¿Por qué elegir Vue.js como framework progresivo y rápido?
Vue.js es un framework creado por Evan You, con gran adopción en la comunidad gracias a su versatilidad y rendimiento. Permite construir desde una landing básica hasta una single-page application compleja, sumando herramientas solo cuando hace falta. Es orientado a la vista (como React) dentro de arquitecturas MV, y su core* resuelve lo esencial sin imponerte sobrecarga.
- Progresivo: empiezas simple y escalas cuando lo requieras.
- Orientado a la vista: se enfoca en la capa visual de MV*.
- Reactivo: datos y vista se mantienen sincronizados.
- Ecosistema activo: más herramientas que complementan el desarrollo.
Además, el proyecto creció impulsado por open source, con actividad diaria y un ecosistema que acompaña: experiencia de desarrollo, router del lado del cliente para SPA, Viewex para manejo de estado a gran escala y NUX para Server Site Rendering con No J.S..
¿Cómo equilibrar complejidad inherente e instrumental con Vue.js?
En un proyecto conviven dos complejidades. La complejidad inherente es la propia del dominio (por ejemplo, “escuchar música”) y no se puede reducir. La complejidad instrumental es el “precio” de las herramientas que eliges para resolver esa inherencia (configurar webpack, aprender Bubble, usar preprocesadores, etc.).
- Si la inherente es baja y la instrumental es alta: usar algo pesado (como Angular) para una simple landing genera disparidad.
- Si la inherente es alta y la instrumental es baja: intentar una single-page application solo con jQuery también crea brecha.
- Objetivo: mantener ambas complejidades “a la par” para pagar el precio justo.
Aquí brilla Vue.js como framework web progresivo: puedes empezar con Vanilla JavaScript + Vue, o sumar capas cuando haga falta. Incluso es válido iniciar con un entorno complejo si el proyecto lo demanda.
¿Qué capas del ecosistema puedes sumar según tus requerimientos?
- Experiencia de desarrollo: utilidades para el trabajo diario.
- Cliente: router para SPA.
- Estado global: Viewex para flujos y estados de gran escala.
- SSR: NUX para Server Site Rendering con No J.S..
¿Qué aporta el core: reactividad, renderizado declarativo y componentes?
El core de Vue es pequeño y extensible. Sus dos pilares son el renderizado declarativo y el sistema de componentes.
¿Cómo funciona el renderizado declarativo y la reactividad?
Se trabaja con un estado centralizado (view model) que la vista lee de forma reactiva. Cuando el estado cambia, la vista se refresca automáticamente. Si el usuario interactúa (clic, input), la vista actualiza el estado y este recompila la vista. Declaras “qué” mostrar, y Vue resuelve el “cómo”.
- Sincronización bidireccional entre código y HTML.
- Mutaciones del estado que se reflejan en pantalla.
- Interacciones de usuario que actualizan el estado.
¿Cómo te organiza el sistema de componentes?
La aplicación se construye como un árbol de componentes: un componente principal con componentes hijos y subhijos (layout, header, footer, aside, etc.). Cada componente define su propio estado y agrega semántica al HTML con etiquetas personalizadas: user, user-detail, footer, header. Resultado: código legible para humanos y rendimiento estable en el navegador.
- Archivos .vue integran HTML, JS y estilos en un módulo autocontenido.
- Puedes reutilizar un componente en otra aplicación sin fricción.
- Mantenimiento más fácil y estructura modular.
¿Cómo crear una instancia y montar la app en el DOM?
En entornos como CodePen puedes probar Vue de forma simple: incluyes la librería, declaras un contenedor y creas la instancia de Vue. La opción el indica dónde montar la app y data define las propiedades reactivas que la vista mostrará mediante expresiones.
- Contenedor HTML con id.
- Expresiones con llaves dobles para pintar datos.
- Instancia con el y data para enlazar estado y vista.
<div id="app">{{ hello }}</div>
new Vue({
el: '#app',
data() {
return {
hello: '...'
};
}
});
¿Tienes dudas sobre reactividad, componentes o cómo escalar tu SPA con Viewex y NUX? Deja tu comentario y conversemos sobre tu caso específico.