Introducción a Angular

Conoce Angular, sus componentes, servicios, CLI e inyección de dependencias, y descubre cuándo su estructura es una buena elección.

Avatar de Polyana Cunha
Polyana Cunha
Introducción a Angular

Angular es un framework opinado: decide la arquitectura por ti y, a cambio, ofrece previsibilidad. Si vienes de React, donde cada proyecto inventa su propia estructura, el choque inicial es precisamente ese: aquí existe «la forma Angular» de hacer las cosas.

Angular en una frase

Angular es un framework front-end completo, mantenido por Google y escrito en TypeScript. «Completo» es la palabra clave: el enrutamiento, los formularios, el cliente HTTP y la inyección de dependencias ya vienen incluidos, son oficiales y están integrados.

Esto cambia el costo de las decisiones. En lugar de elegir y ensamblar cinco bibliotecas, aprendes una vez la forma Angular y la repites. Menos libertad, menos debates interminables sobre detalles.

Componentes y templates: el bloque básico

La unidad de todo es el componente: una clase de TypeScript decorada con @Component, vinculada a un template HTML. La clase contiene el estado y la lógica; el template dibuja la pantalla y reacciona a ese estado.

El template tiene su propia sintaxis. {{ titulo }} interpola un valor, [src]="url" enlaza una propiedad y (click)="salvar()" escucha un evento. En las versiones actuales, el control de flujo se convirtió en bloques propiamente dichos: @if, @for y @switch, en lugar de las antiguas directivas *ngIf y *ngFor.

Los componentes se componen entre sí: uno usa a otro mediante su etiqueta, los datos bajan a través de input y los eventos suben mediante output. Si ya has pensado en componentes en React o Vue, el modelo mental es el mismo; solo cambia el dialecto.

Módulos y el mundo standalone

Durante años, todo componente debía declararse dentro de un NgModule, una caja que agrupaba componentes, servicios e imports. Funcionaba, pero implicaba burocracia: muchos archivos *.module.ts solo para registrar cosas.

Desde Angular 14+, el estándar pasó a ser el componente standalone: declara sus propios imports y prescinde de NgModule. Hay menos ceremonia, un árbol de dependencias más claro y es el camino recomendado para proyectos nuevos.

Aún encontrarás NgModule en código heredado y tutoriales antiguos, así que conviene reconocer ambos enfoques. Pero si empiezas hoy, empieza con standalone y no mires atrás.

Servicios e inyección de dependencias

El template dibuja, el componente coordina y la lógica que no pertenece a la pantalla vive en servicios. Las llamadas a la API, las reglas de negocio y la caché: todo eso se convierte en una clase de servicio, comprobable y reutilizable fuera de cualquier componente.

El punto clave es la inyección de dependencias, el corazón de Angular. No creas el servicio con new; declaras que lo necesitas en el constructor (o mediante inject()) y el framework entrega una instancia lista para usar. Un servicio marcado con @Injectable({ providedIn: 'root' }) se convierte en un singleton compartido por toda la aplicación.

En la práctica, esto mantiene el código desacoplado y facilita las pruebas: al probar, inyectas un doble en lugar del servicio real y listo. Es el tipo de estructura que parece exagerada en una aplicación pequeña y te salva en una grande.

La CLI hace el trabajo aburrido

Angular CLI es la mejor carta de presentación del framework. ng new crea un proyecto configurado, con TypeScript, pruebas y build ya resueltos; no tienes que configurar Webpack a mano.

En el día a día, ng generate component perfil crea un componente con sus archivos y el código repetitivo en el lugar correcto, ng serve inicia el servidor de desarrollo con recarga en caliente y ng build genera el bundle de producción optimizado. La CLI sigue las convenciones del framework, así que todo el proyecto nace con la misma estructura.

Esa estandarización explica buena parte del atractivo de Angular: menos decisiones manuales y menos diferencias entre las personas del equipo.

Cuándo tiene sentido Angular (y cuándo no)

Angular brilla en el escenario para el que fue creado: una aplicación grande, de larga duración y desarrollada por un equipo también grande. Sus opiniones firmes se convierten en una ventaja cuando diez personas necesitan ponerse de acuerdo sobre la estructura: el framework ya lo hizo por ellas. Por eso domina el mundo corporativo.

Para una landing page, un sitio de contenidos o un prototipo rápido, toda esa infraestructura puede ser un peso muerto. En esos casos, React, Vue, Svelte o incluso HTML con un poco de JavaScript permiten entregar más rápido y con menos carga conceptual.

La pregunta honesta no es «¿cuál es el mejor framework?», sino «¿el tamaño y la vida útil del proyecto justifican la estructura de Angular?». Si la respuesta es sí, pocas herramientas escalan tan bien. Si no, estarás llevando un camión para comprar pan, y no será culpa del camión.

Te gusto el articulo?

Compartelo con tus amigos y ayuda a difundir conocimiento!