Cómo Desarrollar una Aplicación CRUD con Angular y TypeScript Paso a Paso

Cómo Desarrollar una Aplicación CRUD con Angular y TypeScript Paso a Paso

Tutorial Angular: Crea una Aplicación CRUD con Angular y TypeScript Paso a Paso

¡Bienvenido a este tutorial Angular! Aquí aprenderás a construir una aplicación CRUD (Crear, Leer, Actualizar y Eliminar) utilizando Angular y TypeScript, ideal para desarrolladores principiantes e intermedios que deseen adentrarse en el desarrollo frontend con tecnologías modernas. Te guiaré paso a paso, cubriendo desde la configuración del entorno con Angular CLI, la creación de componentes y servicios, hasta la integración con una API REST simulada, manejo del enrutamiento y validación de formularios.

Este tutorial Angular está diseñado para ser fácil de seguir, educativo y práctico, fomentando buenas prácticas en Angular mientras construyes una aplicación funcional. ¡Empecemos!


Índice


Configuración del entorno con Angular CLI

Antes de comenzar, necesitas preparar tu entorno de desarrollo.

Paso 1: Instalar Node.js y npm

Angular requiere Node.js y npm (Node Package Manager). Descárgalos e instálalos desde:

  • https://nodejs.org/

Para verificar que la instalación fue exitosa, abre una terminal y ejecuta:

Paso 2: Instalar Angular CLI

Angular CLI facilita la creación y gestión de proyectos Angular.

Ejecuta el siguiente comando para instalar Angular CLI globalmente:

Verifica la instalación con:

Así, tendrás configurado el entorno base para desarrollar tu aplicación Angular usando TypeScript.


Creación del proyecto Angular

Vamos a crear un nuevo proyecto que usaremos para la aplicación CRUD.

Ejecuta el siguiente comando en la terminal:

Durante la creación, Angular CLI te preguntará:

  • Agregar enrutador Angular?: responde (yes).
  • Estilo para las hojas de estilo: selecciona CSS o SCSS según prefieras.

Una vez creado el proyecto, navega al directorio:

Para iniciar la aplicación y verificar que todo funcione, ejecuta:

Abre tu navegador en http://localhost:4200/ y verás la página inicial de Angular.


Estructura del proyecto y buenas prácticas

Angular crea una estructura base que facilita la escalabilidad.

Algunos directorios importantes:

  • src/app/: Aquí estarán los componentes, servicios y módulos.
  • src/assets/: Archivos estáticos como imágenes y estilos.

Buenas prácticas iniciales:

  • Usa módulos para organizar funcionalidades.
  • Mantén los servicios separados para la lógica de datos.
  • Usa rutas para navegar entre componentes.
  • Define interfaces para modelos de datos.

Creación de componentes

Los componentes son las piezas visuales de la app. Crearemos tres:

  • Listado de ítems (leer datos).
  • Formulario para agregar y editar.
  • Componente raíz (ya creado por Angular).

Paso 1: Crear componente para la lista

Paso 2: Crear componente para el formulario

Observa que organizamos los componentes en la carpeta components, ayuda a la claridad.


Creación de servicios para manejar datos

Los servicios Angular manejan la lógica de negocio y la comunicación con APIs.

Paso 1: Crear un servicio de ítems

Paso 2: Definir la interfaz del modelo Item

Crea un archivo src/app/models/item.ts para definir qué es un Item:

Paso 3: Implementar el servicio con datos simulados

Por ahora, simularemos los datos sin backend real (más adelante integraremos una API REST simulada).

Este servicio usa Observable y of de RxJS para simular llamadas asíncronas, algo fundamental en programación Angular.


Simulación de una API REST

Para simular una API REST sin crear backend propio, usaremos Angular In-memory Web API.

Paso 1: Instalar la dependencia

Paso 2: Crear la clase simuladora de API

Crea src/app/services/in-memory-data.service.ts:

Paso 3: Importar el InMemoryWebApiModule en el módulo principal

Modifica src/app/app.module.ts para agregar el módulo:

Paso 4: Adaptar el servicio para usar HttpClient

Actualiza el servicio ItemService para hacer llamadas HTTP reales a la API simulada:


Manejo del enrutamiento

El enrutamiento permite navegar entre diferentes vistas en tu aplicación.

Paso 1: Configurar las rutas

Agrega las rutas al archivo src/app/app-routing.module.ts:

Paso 2: Importar el módulo de rutas

En app.module.ts importa AppRoutingModule:

Paso 3: Añadir links en el template principal

En app.component.html crea un menú simple:

El <router-outlet> renderiza el componente activo según la ruta.


Validación de formularios

La validación es esencial para una mejor experiencia de usuario y para evitar datos erróneos.

Paso 1: Importar ReactiveFormsModule

En app.module.ts agrega:

Paso 2: Crear formulario reactivo en ItemFormComponent

En item-form.component.ts:

Paso 3: Crear template con validación

En item-form.component.html:

Esto garantiza que el usuario solo pueda enviar datos válidos.


Component Listado de Items con funcionalidad CRUD

Finalmente, implementamos el componente para listar, eliminar y navegar para editar.

item-list.component.ts

item-list.component.html


Conclusión y próximos pasos

¡Felicidades! Has construido una aplicación CRUD básica en Angular usando TypeScript que incluye:

  • Configuración completa con Angular CLI.
  • Creación organizada de componentes y servicios.
  • Simulación de API REST con Angular In-memory Web API.
  • Enrutamiento para navegación entre vistas.
  • Formularios reactivos con validación.

Buenas prácticas destacadas

  • Modularidad y organización del código.
  • Uso de servicios para separar lógica de negocio.
  • Manejo de observables para datos asíncronos.
  • Validaciones para mejorar experiencia y calidad de datos.

Próximos pasos recomendados

  • Conectar con un backend real usando APIs REST.
  • Implementar paginación o búsqueda en la lista.
  • Añadir autenticación y manejo de estados.
  • Mejorar estilos con Angular Material o Bootstrap.
  • Escribir pruebas unitarias y e2e.

Si quieres profundizar en desarrollo frontend TypeScript o programación Angular para principiantes, sigue explorando y construyendo proyectos. La comunidad Angular es muy activa y encontrarás muchos recursos oficiales.


¡Gracias por leer este tutorial Angular! Si te ha sido útil, no olvides compartirlo y dejar tus comentarios con dudas o sugerencias.


Resumen rápido


¡Manos a la obra y a programar Angular! 🚀