Angular in 10 steps - 1 of 10

01 - Angular: cos’è e perchè
Benvenuto in questa guida dedicata ad Angular! Se sei uno sviluppatore alle prime armi con il mondo del front-end moderno, o magari hai lavorato con HTML e un po’ di JavaScript e ora vuoi imparare a costruire applicazioni web al passo con le ultime tecnologie sei nel posto giusto.
In questo primo articolo ti racconto cos’è Angular, da dove viene, perché è così usato, e cosa puoi costruire con lui. Non ti preoccupare: niente paroloni inutili, solo il necessario per farti capire dove stai mettendo piede (spoiler: in un posto interessante).
🔍 Cos’è Angular?
Angular è un framework open source sviluppato da Google che ti permette di creare applicazioni web moderne, interattive e scalabili. Non è una libreria come può essere jQuery o React (che possono essere pensate come la V di un app a paradigma MVC): Angular è un framework completo, che ti offre tutti gli strumenti necessari per costruire un’app da zero, senza dover aggiungere mille librerie esterne.
Angular è molto usato nel mondo enterprise, ma non solo. Il framework permette di creare ogni tipo di applicativo ed è molto portato per app come:
- Single Page Applications (SPA): cioè app che non ricaricano la pagina ogni volta che cambi sezione.
- Progressive Web App (PWA): app web che sembrano native.
- Applicazioni aziendali complesse: con gestione dello stato, autenticazione, moduli e routing avanzato.
- Dashboard, CRM, gestionali, portali interni e molto altro.
🕰 Un po’ di storia
Angular nasce nel 2010 con il nome AngularJS (versione 1.x). Era un framework molto diverso da quello attuale, basato su JavaScript puro e due-way binding "magico". Nel 2016 Google rilascia Angular 2, completamente riscritto da zero e basato su TypeScript, con un’architettura più solida e moderna. Da lì in poi, il framework ha continuato a evolversi con rilasci regolari ogni 6 mesi. Ad oggi, Giugno 2025, siamo alla versione 20 e il framework è più potente e semplice che mai grazie a nuove feature introdotte nelle ultime release come i signals e gli standalone components. In questa guida lavoreremo con le ultime versioni, sfruttando proprio queste nuove API.
🔁 Cos’è una SPA e come funziona
Come dicevamo, Angular è pensato principalmente per creare Single Page Applications (SPA). Una SPA è un'applicazione web che:
- Viene caricata una sola volta dal browser.
- Cambia il contenuto dinamicamente senza ricaricare l’intera pagina.
- Utilizza JavaScript per gestire la navigazione interna.
Questo metodo di renderizzazione delle pagina viene anche chiamato CSR, ovvero client-side rendering, che si differenzia dai SSR e SSG.
Per capire meglio, facciamo chiarezza su come viene renderizzata una pagina web:
📦 CSR (Client-Side Rendering)
- È il metodo usato di default da Angular
- Tutta l'app è caricata nel browser
- Più veloce dopo il primo caricamento
- Ottimo per app interattive, ma penalizza la SEO
Nell’approccio CSR il server quindi manderà al client un unico file HTML (in angular è il file index.html) che conterrà tutto il javascript necessario per far funzionare l’applicativo. Questo approccio sposta il carico di lavoro di renderizzazione sul client permettendo al browser di aggiornare le pagina in maniera dinamica senza dover necessariamente ricaricare l’intera pagina e ripassare dal server.
🛠 SSR (Server-Side Rendering)
- La prima pagina viene renderizzata dal server, poi il client "prende il controllo"
- Migliora SEO e tempo di caricamento iniziale
- Angular supporta SSR con Angular Universal
Quando utilizziamo la strategia di rendering SSR la generazione dell’HTML visualizzato dal browser è in carico al server, questo permette di poter caricare la pagina iniziale in maniera molto più veloce anche se il Javascript non è ancora stato caricato del tutto. Una volta che il JS è pronto la pagina diventa interattiva, questo processo è chiamato Hydration.
📄 SSG (Static Site Generation)
- Pagine pre-generate in fase di build
- Ideale per blog e contenuti poco dinamici
- Angular può fare SSG con librerie di terze parti (non è il suo punto forte)
La Static site generation è un metodo che prevede la generazione dell’HTML in fase di build anzichè ad ogni richiesta. Questo permette di pre-renderizzare tutte le pagine del sito in file statici. Quando un utente accede su una pagina il server si limita a rispondere col file pre-renderizzato risultando un tempo di caricamento estremamente rapido.
💡 Quando usare cosa?
| Tecnica | Caso d'uso | ✅ | ❌ |
|---|---|---|---|
| CSR | Applicazioni molto dinamiche. Quando non è necessaria la SEO. | Quando è richiesta un’alta interazione dell’utente. Miglior performance in aggiornamenti dinamici del DOM. | SEO scarsa. Caricamento iniziale più lento. |
| SSR | Serve SEO. Sito con tanti contenuti. Cruciale avere un caricamento rapido del sito. | SEO è OK. Caricamento iniziale veloce. | Incrementa il carico del server. Implementazione più complessa. |
| SSG | Documentazione. Landing pages. Blog. | SEO è ottimo. Caricamento velocissimo. | Non adatto a contenuti altamente dinamici. Richiesta building per aggiornare contenuti. |
🧩 E i componenti?
In Angular tutto ruota attorno ai componenti. Un componente è un pezzetto riutilizzabile dell’interfaccia utente, con il suo HTML, il suo CSS e la sua logica.
Pensa a un bottone, una card, un form, una pagina: sono tutti componenti.
Con Angular è possibile creare componenti standalone (cioè indipendenti), e comporre la tua app come un puzzle: ogni pezzo ha un ruolo e si incastra con gli altri. Le pagine stesse che compongono la nostra web app sono componenti. Approfondiremo questo tema in un prossimo articolo.
🚀 Cosa vedremo nei prossimi articoli?
In questo modulo base impareremo tutto ciò che ti serve per iniziare a usare Angular con sicurezza:
- Come si installa e configura un progetto
- Come creare componenti e pagine
- Come funziona il router e la navigazione
- Come funzionano i signals e i nuovi strumenti reattivi
- Come gestire moduli, forms, chiamate HTTP, stato, pipes e interceptors
- E infine… mettiamo tutto insieme in un progetto pratico 🎮 Pronto? Nel prossimo articolo partiamo con l’installazione del nostro primo progetto Angular.
Spoiler: serve Node.js, ma niente panico, seguiremo passo passo.