Introducció
Angular és un framework de desenvolupament web de codi obert mantingut per Google. És utilitzat per crear aplicacions web dinàmiques i de pàgina única (SPA, per les seves sigles en anglès). Angular proporciona una estructura sòlida per a la creació d'aplicacions escalables i mantenibles, i inclou una sèrie d'eines i funcionalitats que faciliten el desenvolupament.
Característiques Clau d'Angular
-
Arquitectura basada en components:
- Angular utilitza components per construir la interfície d'usuari. Cada component és una peça independent de la UI que pot ser reutilitzada en diferents parts de l'aplicació.
-
Enllaç de dades bidireccional:
- Permet la sincronització automàtica entre el model i la vista. Quan el model canvia, la vista es refresca automàticament i viceversa.
-
Directives:
- Les directives són instruccions en el DOM (Document Object Model) que Angular interpreta i transforma. Hi ha directives integrades com
ngIf
,ngFor
, i també es poden crear directives personalitzades.
- Les directives són instruccions en el DOM (Document Object Model) que Angular interpreta i transforma. Hi ha directives integrades com
-
Injecció de dependències:
- Angular té un sistema d'injecció de dependències que facilita la gestió de serveis i altres dependències de manera eficient i escalable.
-
Rendiment i optimització:
- Angular inclou eines per optimitzar el rendiment de les aplicacions, com la càrrega mandrosa de mòduls i la precompilació de plantilles.
-
Formularis i validació:
- Angular proporciona dos tipus de formularis: basats en plantilles i reactius, amb suport per a la validació de formularis.
-
Client HTTP:
- Angular inclou un client HTTP per fer sol·licituds HTTP de manera senzilla i gestionar respostes i errors.
-
Gestió d'estat:
- Angular facilita la gestió de l'estat de l'aplicació amb eines com NgRx, que implementa el patró Redux.
-
Proves:
- Angular està dissenyat per ser fàcilment testejable, amb suport per a proves unitàries, de components, de serveis i de cap a cap.
Història d'Angular
Angular va ser llançat per primera vegada el 2010 com AngularJS (o Angular 1). El 2016, Google va llançar Angular 2, una reescriptura completa del framework original. Des de llavors, Angular ha evolucionat constantment amb noves versions que afegeixen funcionalitats i millores de rendiment.
Avantatges d'Utilitzar Angular
- Estructura clara i organitzada: Angular proporciona una estructura clara per a la creació d'aplicacions, la qual cosa facilita el manteniment i l'escalabilitat.
- Comunitat i suport: Angular té una gran comunitat de desenvolupadors i un fort suport de Google, el que garanteix la seva continuïtat i evolució.
- Ecosistema ric: Angular té un ecosistema ric de biblioteques i eines que faciliten el desenvolupament, les proves i el desplegament d'aplicacions.
Exemples Pràctics
Exemple 1: Un Component Bàsic
import { Component } from '@angular/core'; @Component({ selector: 'app-root', template: `<h1>Benvingut a Angular!</h1>`, styles: [`h1 { font-family: Lato; }`] }) export class AppComponent { title = 'my-angular-app'; }
Explicació:
@Component
: Decorador que defineix un component.selector
: El nom de l'etiqueta HTML que representa aquest component.template
: El codi HTML que defineix la vista del component.styles
: Els estils CSS aplicats al component.
Exemple 2: Enllaç de Dades Bidireccional
import { Component } from '@angular/core'; @Component({ selector: 'app-root', template: ` <input [(ngModel)]="name" placeholder="Escriu el teu nom"> <p>Hola, {{name}}!</p> `, styles: [`input { margin-bottom: 10px; }`] }) export class AppComponent { name: string = ''; }
Explicació:
[(ngModel)]
: Directiva per a l'enllaç de dades bidireccional.{{name}}
: Interpolació per mostrar el valor de la variablename
en la vista.
Exercici Pràctic
Exercici 1: Crear un Component Simple
- Crea un nou component anomenat
hello-world
. - El component ha de mostrar el text "Hola, món!" en un element
<h2>
.
Solució:
- Crear el component:
- Editar el fitxer
hello-world.component.ts
:
import { Component } from '@angular/core'; @Component({ selector: 'app-hello-world', template: `<h2>Hola, món!</h2>`, styles: [`h2 { color: blue; }`] }) export class HelloWorldComponent {}
- Afegir el component al
app.component.html
:
Conclusió
En aquesta secció, hem après què és Angular, les seves característiques clau, la seva història i els avantatges d'utilitzar-lo. També hem vist alguns exemples pràctics i hem realitzat un exercici per crear un component simple. Amb aquesta base, estem preparats per configurar l'entorn de desenvolupament i començar a construir la nostra primera aplicació Angular en el següent mòdul.
Curs d'Angular
Mòdul 1: Introducció a Angular
- Què és Angular?
- Configuració de l'entorn de desenvolupament
- Arquitectura d'Angular
- Primera aplicació Angular
Mòdul 2: Components d'Angular
- Comprendre els components
- Crear components
- Plantilles de components
- Estils de components
- Interacció de components
Mòdul 3: Enllaç de dades i directives
- Interpolació i enllaç de propietats
- Enllaç d'esdeveniments
- Enllaç de dades bidireccional
- Directives integrades
- Directives personalitzades
Mòdul 4: Serveis i injecció de dependències
Mòdul 5: Enrutament i navegació
Mòdul 6: Formularis a Angular
Mòdul 7: Client HTTP i observables
- Introducció al client HTTP
- Fer sol·licituds HTTP
- Gestionar respostes HTTP
- Utilitzar observables
- Gestió d'errors
Mòdul 8: Gestió d'estat
- Introducció a la gestió d'estat
- Utilitzar serveis per a la gestió d'estat
- NgRx Store
- NgRx Effects
- NgRx Entity
Mòdul 9: Proves a Angular
- Proves unitàries
- Proves de components
- Proves de serveis
- Proves de cap a cap
- Simulació de dependències
Mòdul 10: Conceptes avançats d'Angular
- Angular Universal
- Optimització del rendiment
- Internacionalització (i18n)
- Tubs personalitzats
- Animacions d'Angular