Cómo Crear una Aplicación de Lista de Tareas con Vue.js y LocalStorage

Cómo Crear una Aplicación de Lista de Tareas con Vue.js y LocalStorage

Tutorial Vue.js: Cómo crear una lista de tareas con almacenamiento en LocalStorage

¡Bienvenido a este tutorial paso a paso donde aprenderás a construir una sencilla pero funcional lista de tareas (To-Do List) utilizando Vue.js y LocalStorage! Este tutorial está pensado especialmente para desarrolladores principiantes que desean adentrarse en el desarrollo frontend y comprender conceptos importantes como gestión del estado local, creación de componentes y almacenamiento persistente en el navegador.


Índice


¿Qué es Vue.js y LocalStorage?

Vue.js

Vue.js es un framework progresivo para construir interfaces de usuario. Se destaca por su sencillez, flexibilidad y una curva de aprendizaje amigable, ideal para principiantes en desarrollo frontend.

LocalStorage

LocalStorage es una API del navegador que permite almacenar datos en el cliente de forma persistente, incluso al cerrar la pestaña o el navegador. Es perfecta para guardar información como listas de tareas sin necesidad de un backend.


Configuración inicial del proyecto Vue.js

Para comenzar, utilizaremos la herramienta oficial Vue CLI para crear un proyecto simplificado. Sigue estos pasos:

Paso 1: Instalar Vue CLI

Abre tu terminal y ejecuta:

Esto instala la interfaz de línea de comandos de Vue para crear proyectos.

Paso 2: Crear el proyecto

Ejecuta:

Selecciona la configuración predeterminada (Default Vue 3 preset). Esto instalará Vue 3 con las opciones básicas.

Paso 3: Ejecutar la aplicación base

Entra en el directorio y ejecuta el servidor de desarrollo:

Ahora en el navegador abre http://localhost:5173 o la dirección que te indique el terminal para ver la app inicial de Vue.


Estructura de la aplicación y creación de componentes

Vamos a crear una aplicación simple que muestre una lista, permita agregar y eliminar tareas.

Paso 1: Limpieza del proyecto

Abre el archivo src/App.vue y reemplaza su contenido con esta estructura básica:

Paso 2: Crear el componente TaskInput

Crea un archivo src/components/TaskInput.vue con el siguiente código:

Este componente contiene un campo de texto y un botón para agregar tareas. El input se enlaza con v-model para la captura, y la emisión del evento add-task pasa el texto hacia el componente padre.

Paso 3: Crear el componente TaskList

Crea el archivo src/components/TaskList.vue con este contenido:

Este componente recibe la lista de tareas como propiedad y muestra cada tarea con un botón para eliminar.


Gestión del estado local y vinculación con LocalStorage

En el código de App.vue ya implementamos algunas funciones clave:

  • Estado reactivo tasks: Mantiene la lista actual de tareas.

  • Métodos addTask y removeTask: Actualizan la lista local y llaman a saveTasks.

  • Función saveTasks: Convierte la lista en JSON y la almacena en LocalStorage.

  • Función loadTasks: Al montar el componente, recupera las tareas del almacenamiento local para cargar el estado inicial.

Esto permite que tus tareas se conserven aunque el usuario cierre o recargue la página, un aspecto fundamental en desarrollo frontend para mejorar la experiencia de usuario.


Diseño básico con CSS para una interfaz amigable

Ya incluimos estilos sencillos, modernos y responsivos que hacen la interfaz fácil de usar:

  • Centrado de la aplicación en la pantalla.
  • Tipografía limpia y legible.
  • Botones con colores contrastantes y efectos hover.
  • Inputs adaptables al tamaño disponible.

Puedes ampliar el diseño usando frameworks como Tailwind CSS o Bootstrap si deseas algo más avanzado, pero para este tutorial mantenemos lo simple para que sea didáctico y claro.


Código final resumido

src/App.vue

(Recuerda crear los componentes TaskInput.vue y TaskList.vue tal como vimos anteriormente.)


Conclusión y buenas prácticas

¡Felicidades! Ahora tienes una aplicación funcional de lista de tareas creada con Vue.js y almacenamiento persistente usando LocalStorage. Con este tutorial aprendiste:

  • Configurar un proyecto Vue.js desde cero.
  • Crear componentes reutilizables y modularizar la app.
  • Gestionar el estado local reactivo y comunicarse entre componentes con eventos.
  • Usar LocalStorage para conservar datos entre sesiones.
  • Aplicar estilos CSS simples para mejorar la experiencia de usuario.

Buenas prácticas recomendadas

  • Valida siempre la entrada de usuario antes de procesarla.
  • Mantén los componentes enfocados en una sola responsabilidad.
  • Maneja errores al trabajar con datos externos o almacenamiento.
  • Documenta tu código con comentarios claros.
  • Usa nombres descriptivos para variables y componentes.

¿Qué puedes hacer ahora?

  • Añadir funcionalidad para marcar tareas como completadas.
  • Implementar filtrado por estado (todas, completas, pendientes).
  • Explorar Vuex para gestión de estado más compleja.
  • Integrar APIs externas o bases de datos para almacenamiento remoto.

¡Empieza a practicar y desarrolla tus propias aplicaciones! Si te gustó este tutorial Vue.js, no olvides compartirlo con otros desarrolladores principiantes.


Recursos útiles


¡Gracias por leer! Si tienes dudas o deseas que te guiemos en otro proyecto, déjanos un comentario.