Vue.js Framework Progresivo · v3.5
SENA Centro de la Innovación, la Agroindustria y la Aviación
Programa: Análisis y Desarrollo de Software Instructor: Alexander Patiño Londoño
Historia Características Sintaxis Ecosistema Comparación Casos de uso

Framework Progresivo de JavaScript

El arte de
construir
interfaces

Vue.js es el framework JavaScript que cambió la forma de pensar en el desarrollo web frontend — reactivo, elegante y progresivamente adoptable.

220K+⭐ GitHub Stars
4M+Descargas / semana
2014Año de creación
v3.5Versión actual

Una historia de
innovación

Vue.js nació de la mente de Evan You, ex-ingeniero de Google que trabajó en AngularJS. Frustrado por la complejidad de los frameworks existentes, quería extraer las partes que realmente le gustaban de Angular y construir algo más liviano.

En 2013, mientras trabajaba en Google Creative Lab, comenzó a experimentar con un prototipo llamado "Seed.js". La primera versión pública, v0.6.0, se lanzó en diciembre de 2013 y el 8 de febrero de 2014 fue anunciado al mundo en Hacker News.

Lo que comenzó como un proyecto personal se convirtió en uno de los frameworks más queridos de la comunidad JavaScript — prueba de que la simplicidad y la elegancia siempre triunfan.

Diciembre 2013
v0.6 — Lanzamiento inicial
Primera versión pública liberada por Evan You.
Febrero 2014
Anuncio en Hacker News
Vue.js se presenta al mundo con gran entusiasmo.
Octubre 2015
Vue 1.0 — Evangelion
Primera versión estable con sistema de componentes maduro.
Septiembre 2016
Vue 2.0 — Ghost in the Shell
Virtual DOM, SSR y mejor rendimiento. Explosión de popularidad.
Septiembre 2020
Vue 3.0 — One Piece
Composition API, TypeScript nativo, Teleport y Fragments.
2022 – hoy
Vue 3.x — Madurez total
Vue 3 por defecto. Nuxt 3, Vite y el ecosistema florecen.

¿Por qué Vue?

Vue fue diseñado desde el principio para ser adoptado de forma incremental, centrándose en la capa de vista e integrándose fácilmente con cualquier proyecto.

Reactividad Declarativa

El sistema rastrea automáticamente las dependencias en tiempo de ejecución. Cuando el estado cambia, la vista se actualiza de forma eficiente y precisa.

🧩

Basado en Componentes

Los Single File Components (.vue) encapsulan template, lógica y estilos en un único archivo reutilizable y auto-contenido.

📈

Progresivo por Naturaleza

Agrega Vue a una parte de una página existente sin reescribir todo. Escala desde un simple widget hasta una SPA compleja.

🎭

Composition API

Organiza la lógica de componentes por funcionalidad con script setup. Facilita la reutilización con composables y mejora TypeScript.

🚀

Alto Rendimiento

Vue 3 optimiza agresivamente el Virtual DOM generando código altamente optimizado que reduce el overhead en tiempo de ejecución.

🔷

TypeScript Nativo

Escrito completamente en TypeScript. Autocompletado, verificación de tipos y refactoring seguro desde el primer día sin configuración.

🎨

Directivas Poderosas

v-if, v-for, v-model, v-bind, v-on — directivas integradas que cubren todos los patrones comunes de UI con sintaxis declarativa.

🔄

Transiciones Animadas

Sistema integrado de transiciones CSS/JS para elementos que entran y salen del DOM. Experiencias fluidas con mínimo esfuerzo.

🛠️

DevTools Excepcionales

La extensión Vue DevTools permite inspeccionar el árbol de componentes, el estado, los eventos y el historial de cambios en tiempo real.

Código elegante
por diseño

Un componente Vue combina template HTML con lógica JavaScript de forma natural. La Composition API con <script setup> es la forma moderna recomendada en Vue 3.

El template usa sintaxis HTML familiar con extensiones especiales. La interpolación {{ }} y las directivas v-* hacen la lógica de vista explícita y legible.

La reactividad es automática: declara datos con ref() o reactive() y Vue rastreará los cambios actualizando solo lo necesario.

Contador.vue
<template>
  <div class="contador">
    <h2>{{ titulo }}</h2>
    <p>Clicks: <strong>{{ count }}</strong></p>
    <button @click="incrementar">➕ Incrementar</button>
    <button @click="resetear">🔄 Resetear</button>
  </div>
</template>

<script setup>
import { ref, computed } from 'vue'

// Props del componente
const props = defineProps({
  titulo: { type: String, default: 'Contador Vue' }
})

// Estado reactivo
const count = ref(0)

// Propiedad computada
const esPar = computed(() => count.value % 2 === 0)

// Métodos
const incrementar = () => count.value++
const resetear    = () => count.value = 0
</script>

<style scoped>
.contador { padding: 2rem; border-radius: 8px; }
</style>

Todo lo que necesitas,
ya existe

🟢
Nuxt.js
Framework full-stack basado en Vue. SSR, SSG y generación estática out-of-the-box.
🍍
Pinia
State management oficial. Más simple que Vuex, con TypeScript nativo y DevTools.
🔀
Vue Router
Router oficial para SPAs. Rutas anidadas, guards de navegación y lazy loading.
Vite
Build tool ultra-rápido de Evan You. HMR instantáneo y bundling optimizado.
🧪
Vitest
Testing unitario potenciado por Vite. Compatible con Jest, extremadamente rápido.
🎯
VueUse
Más de 200 composables esenciales para Vue. Productividad al máximo nivel.
📱
Ionic Vue
Apps móviles iOS y Android con Vue usando componentes nativos de Ionic.
🖥️
Quasar
SPA, SSR, PWA, apps móviles y desktop con una sola base de código Vue.

Vue vs la competencia

Comparación honesta entre Vue.js, React y Angular para ayudarte a elegir la herramienta adecuada.

Característica Vue.js React Angular
Curva de aprendizajeMuy bajaModeradaAlta
Bundle (min+gzip)~22 KB~42 KB~130 KB+
TypeScript Nativo Opcional Requerido
Two-way binding v-model Manual ngModel
Single File Components .vue JSX 3 archivos
State management oficial Pinia Redux/Zustand NgRx
Rendimiento generalExcelenteMuy buenoBueno
Soporte empresarialComunidad + sponsorsMetaGoogle

¿Dónde brilla Vue.js?

🖥️ Single Page Applications

Vue es ideal para SPAs complejas gracias a Vue Router, Pinia y el ecosistema Vite. Navegación fluida sin recargas de página.

Dashboard adminCRME-commerce

⚡ Widgets Interactivos

Gracias a su naturaleza progresiva, puedes embeber Vue en páginas existentes para añadir interactividad sin migrar el proyecto completo.

FormulariosBuscadoresCarousels

🌐 Apps con SSR / SSG

Con Nuxt.js generas páginas en el servidor o de forma estática para máximo SEO, ideal para blogs, e-commerce y portales de contenido.

BlogLanding pagesPortfolios

📱 Apps Móviles & Desktop

Con Capacitor, Ionic o Quasar, usa tu código Vue para generar apps nativas o híbridas para iOS, Android y escritorio con Electron.

iOS / AndroidPWAElectron