Vincenzo Giacchina è Solution Architect nel settore finanziario. Appassionato di scrittura, si dedica alla divulgazione di temi tecnici e informatici. È attivo anche nella formazione e segue da vicino l’evoluzione delle tecnologie full stack, con particolare attenzione al mondo web e mobile. Per Apogeo ha scritto i libri “Sviluppare applicazioni con Angular”, “Sviluppare applicazioni con Flutter” e “Web design con Bootstrap”. Vive in Svizzera.
Ha scritto Sviluppare applicazioni con Angular, edito da Apogeo nel 2024. Valeva decisamente la pena fargli qualche domanda.
Ciao Vincenzo, ci racconti i tuoi attuali focus lavorativi?
Al momento non sto lavorando direttamente su progetti Angular, ma continuo a seguirne da vicino l’evoluzione e rimane una delle tecnologie che apprezzo di più. Credo fermamente che, per applicazioni medio-grandi, Angular sia ancora oggi il miglior framework in circolazione. Questo grazie al suo pattern architetturale rigido e ben definito, che aiuta a mantenere coerenza progettuale, modularità e scalabilità anche nei progetti più complessi.
Parallelamente, mi sto concentrando sull’esplorazione delle potenzialità offerte dall’Intelligenza Artificiale nello sviluppo software, un’area che trovo estremamente stimolante per le prospettive che apre nel supporto alla progettazione di nuove tipologie di applicazioni. In generale, credo che stiamo vivendo un momento estremamente significativo per tutto il settore. L’evoluzione dell’AI generativa e l’emergere di nuovi approcci come il cosiddetto “vibe coding”, in cui l’intento progettuale prende sempre più il posto della scrittura manuale del codice, stanno rendendo tecnologie strutturate come Angular ancora più accessibili e potenti. Strumenti intelligenti ci stanno aiutando a concentrarci sempre meno sulla sintassi e sempre di più sulla qualità architetturale e sulla visione dei progetti. È un cambiamento profondo che invita tutti gli sviluppatori a ripensare il proprio ruolo, spostando il focus dalla mera implementazione alla progettazione consapevole e alla responsabilità delle soluzioni che costruiamo.
Come hai strutturato il tuo libro su Angular e a chi si rivolge?
Il libro è pensato per accompagnare il lettore in un percorso progressivo: parte dalle basi e arriva fino agli aspetti avanzati di Angular, con un equilibrio tra teoria e pratica. Si rivolge principalmente a chi ha una conoscenza di base di JavaScript e vuole approfondire Angular in modo serio e strutturato, ma contiene anche sezioni introduttive utili per chi vuole consolidare i fondamentali.
Uno degli elementi centrali è TypeScript, che ha rappresentato una svolta epocale per Angular: come superset di JavaScript ha introdotto tipizzazione, interfacce e strumenti che hanno portato maggiore robustezza, leggibilità e scalabilità al codice. Per questo motivo ho voluto dargli un ruolo chiave nella trattazione, dedicandogli un intero capitolo.
La struttura del libro si articola in più fasi: si parte dall’ambiente di sviluppo e dall’utilizzo della Angular CLI, passando per la teoria dei framework moderni, il DOM, il pattern MVC e le SPA. Successivamente si affrontano componenti, moduli, direttive, binding, template, lifecycle hooks, RxJS, segnali, routing, form, comunicazione con API REST e gestione dello stato. Nella seconda parte il lettore sviluppa un’applicazione concreta e viene introdotto a pratiche come testing (unitario, end-to-end, Cypress), performance optimization e infine anche allo sviluppo mobile con Ionic.
Proprio su questo punto, è interessante fare una riflessione. Angular, per un periodo, è stato considerato una valida opzione anche per lo sviluppo mobile, grazie all’integrazione con Ionic. Questa combinazione ha funzionato bene per molte app ibride, soprattutto in ambito enterprise e per applicazioni interne. Tuttavia, negli ultimi anni, il panorama mobile si è evoluto e soluzioni come Flutter e React Native hanno guadagnato terreno grazie a performance superiori, un’esperienza più vicina al nativo e una curva di adozione più semplice per sviluppatori mobile. Oggi Angular è chiaramente focalizzato sullo sviluppo di applicazioni web complesse, strutturate e scalabili, dove continua a distinguersi per solidità architetturale e rigore progettuale. In ambito enterprise e web, rimane una scelta di altissimo livello.
TypeScript è una colonna portante di Angular, ma non tutti gli sviluppatori hanno familiarità con questo linguaggio. Che approccio hai scelto per introdurlo ai lettori, e che consiglio daresti a chi parte da zero?
TypeScript è un linguaggio che può sembrare ostico all’inizio per chi ha avuto solo esperienza con JavaScript, ma diventa presto un grande alleato. Quando Angular è nato, l’adozione di TypeScript era ancora opzionale, ma nel tempo è diventato una parte integrante e obbligatoria del framework. Per questo motivo, nel libro ho dedicato un intero capitolo propedeutico, pensato per accompagnare gradualmente il lettore verso una comprensione solida di TypeScript prima di affrontare il cuore di Angular.
Il percorso inizia dalla sua natura di superset di JavaScript, per poi affrontare i tipi di dato, le interfacce, le classi, i decoratori e le best practice per scrivere codice chiaro, leggibile e manutenibile. Il vantaggio reale emerge quando si lavora in un IDE moderno come Visual Studio Code: l’autocompletamento, il controllo sui tipi e la navigazione tra le entità del codice rendono lo sviluppo molto più efficace e produttivo.
TypeScript, inoltre, è un linguaggio in costante evoluzione: con ogni nuova versione vengono introdotti miglioramenti semantici e stilistici che permettono di scrivere codice più conciso, espressivo ed efficiente. Funzionalità come il narrowing intelligente, l’introduzione di operatori moderni e le nuove forme di inferenza rendono oggi il linguaggio più accessibile e potente rispetto a pochi anni fa.
Il mio consiglio è semplice: non cercate di imparare tutto TypeScript prima di iniziare. Immergetevi in un progetto Angular semplice, lasciatevi guidare dall’ambiente di sviluppo e costruite le vostre competenze un passo alla volta. Il libro vi accompagna proprio in questo processo, aiutandovi a scoprire come TypeScript non sia un ostacolo, ma una risorsa fondamentale per sfruttare davvero la potenza di Angular e, più in generale, delle moderne applicazioni web e mobile. E non solo: TypeScript è oggi ampiamente utilizzato anche nello sviluppo di applicazioni server-side in ambiente Node.js.
L’approccio del libro è sia teorico che pratico: quanto conta, secondo te, l’equilibrio tra concetti e applicazione concreta nell’apprendimento di un framework come Angular?
Conta tantissimo. Angular non è solo una libreria, ma una piattaforma strutturata che adotta un’architettura solida: più che puro MVC, potremmo definirla MVVM o anche MVVC, concetti che spiego approfonditamente nella parte introduttiva e teorica del libro. Il framework incoraggia l’adozione di pattern progettuali che consentono di costruire attorno a componenti e servizi logiche complesse, con una netta separazione delle responsabilità.
Questo approccio favorisce la testabilità, la scalabilità e l’organizzazione del codice, soprattutto in team e in contesti di medio-lungo termine. Per questo ho scelto una modalità di esposizione mista: concetti chiave spiegati in modo semplice, ma sempre accompagnati da esempi pratici e applicazioni reali. È un buon compromesso, secondo me, per rendere l’apprendimento efficace.
Angular è spesso percepito come una tecnologia con una curva di apprendimento piuttosto elevata rispetto ad alternative più leggere, ma questo sforzo iniziale viene ampiamente ripagato nel tempo. Il rigore architetturale che impone consente di realizzare applicazioni robuste e facilmente manutenibili. Inoltre, il know-how che si acquisisce usando Angular si rivela estremamente prezioso anche al di fuori del contesto specifico del framework.
Tra i temi avanzati affronti anche il testing e l’integrazione con le API. Quanto è importante che anche uno sviluppatore front-end abbia familiarità con queste aree?
Oggi è fondamentale. Il front-end moderno non è più solo interfaccia: è logica, orchestrazione, validazione e anche test. Angular, in particolare, promuove una struttura modulare del codice che rende naturale l’adozione di strategie di testing fin dall’inizio. Anche un semplice ng new genera già una struttura predisposta per i test unitari. Nel libro affronto strumenti come Jasmine, Karma e Cypress, illustrando test di componenti, servizi e flussi end-to-end in un progetto reale.
Rispetto a qualche anno fa, il paradigma stesso dello sviluppo è cambiato: il testing non è più una pratica “enterprise”, ma è diventato parte integrante di ogni buon progetto, anche nei contesti più snelli. È sempre più visto come uno strumento di progettazione attiva, non solo di verifica.
Anche sul piano dell’integrazione con le API, il ruolo del front-end è molto cresciuto. Non si tratta più solo di “chiamare un endpoint”, ma di gestire lo stato, gli errori, i tempi di risposta e i casi limite. Angular, con i suoi strumenti integrati, aiuta molto in questo, ma richiede una certa consapevolezza da parte dello sviluppatore.
Conoscere queste pratiche permette di scrivere codice più robusto e, soprattutto, di lavorare meglio con gli altri. In fondo, oggi essere front-end significa sempre più far parte dell’ingranaggio complessivo. Angular, da questo punto di vista, è come un buon compagno di squadra, non fa tutto da solo, ma ti mette nelle condizioni migliori per fare un buon lavoro.
in ultimo, ti va di lasciarci qualche link di riferimento per restare aggiornati sul tema?
Assolutamente si. Ecco alcune risorse che saranno sicuramente d’aiuto, anche solo per rimanere aggiornato su Angular.
Angular e sviluppo front-end.
- angular.io
- blog.angular.io
- rxjs.dev
- dev.to/t/angular
- Angular.love
- Angular University
- Ultimate Courses – Angular
- Bolt (Angular playground)
- YouTube – Angular Official Channel
- AI e strumenti di supporto allo sviluppo:
- ChatGPT
- Gemini
- GitHub Copilot
- Cursor
I nomi parlano da soli, vi invito semplicemente a esplorarli.
Potreste scoprire strumenti che cambiano davvero il vostro modo di lavorare.
Buon lavoro.