Introduzione
Certo, ecco alcuni appunti di introduzione ad Angular:
- Angular è un framework per lo sviluppo di applicazioni web. È stato sviluppato da Google ed è basato sul linguaggio TypeScript.
- Angular permette di creare applicazioni web moderne e complesse utilizzando un approccio basato sui componenti. I componenti sono blocchi modulari di codice che contengono la logica e l'interfaccia utente di una specifica parte dell'applicazione.
- Angular utilizza il pattern MVVM (Model-View-ViewModel) per organizzare il codice delle applicazioni. Questo significa che le parti del codice che gestiscono i dati (i Modelli) sono separate dalla logica di visualizzazione (le Viste), con un livello intermedio (il ViewModel) che gestisce la comunicazione tra di esse.
- Una delle principali caratteristiche di Angular è la sua capacità di gestire la reattività dell'interfaccia utente. Grazie all'uso di un sistema di rilevamento dei cambiamenti chiamato "change detection", Angular è in grado di aggiornare in tempo reale la vista dell'applicazione in base ai cambiamenti dei dati.
- Angular utilizza il concetto di "dependency injection" per gestire le dipendenze tra le diverse parti dell'applicazione. Questo consente di creare applicazioni più modulari e facili da mantenere.
- Angular fornisce anche una vasta gamma di funzionalità predefinite, come la gestione del routing, la gestione delle form, la validazione dei dati, la gestione degli eventi, e molto altro ancora.
- Per sviluppare applicazioni Angular, è possibile utilizzare l'Angular CLI (Command Line Interface), che semplifica la creazione di nuovi progetti, la generazione di componenti e servizi, la gestione delle dipendenze, e molto altro ancora.
- Angular è stato progettato per essere utilizzato insieme ad altri strumenti e tecnologie, come ad esempio Node.js per la gestione del backend, TypeScript per la scrittura del codice, e Bootstrap per la gestione dell'interfaccia utente.
Architettura di Angular
Introduction to Angular Concepts

Angular è a natura modulare, ho un modulo principale ed attraverso questo ne posso integrare altri. I moduli sono librerie esterne, classi interfacce integrabili nel progetto (Es HttpClientModule). Vanno importati a mano nelle imports in app.module.ts.
La natura modulare nasce dall’esigenza di caricare solo ciò che serve senza appesantire il progetto.
Angular si basa sul pattern MVVM:

La View sarebbe l’HTML.
La ViewModel sarebbe il typescript, ciò che offre logica.