Con 905 pagine suddivise in 25 capitoli,
Beginning ASP.NET 4 in C# 2010 si pone l'arduo obiettivo di introdurre il lettore alla programmazione in ambiente internet, utilizzando
ASP.NET, la piattaforma Microsoft per lo sviluppo di applicazioni web, quale parte del core del
.NET Framework, che, insieme alle librerie di classi, all'ambiente di sviluppo e progettazione
Microsoft Visual Studio e a un linguaggio di programmazione orientato agli oggetti come
Visual C#, costituisce un completo sistema di programmazione, che permette di realizzare dalle semplici pagine web a complessi siti arricchiti con controlli avanzati e collegamenti a basi di dati.
Per la progettazione di siti ed applicazioni web è necessario conoscere tutti gli strumenti che ruotano intorno al
.NET Framework: un linguaggio di programmazione orientato agli oggetti (in questo caso il C#), un motore per l'hosting del sito web (
Internet Information Server), un modello di interazione con i database (
ADO.NET), un linguaggio di interrogazione dati di alto livello (
LINQ) e una libreria di classi che fornisca le funzioni per la gestione di tutti gli oggetti dell'applicazione o del sito.
Il libro copre tutti questi argomenti, anche se alcuni sono trattati in modo molto sintetico, da approfondire con altri testi specifici; uno di questi è ad esempio la parte che si occupa dell'
introduzione al linguaggio C#, che si conclude in due capitoli, ovviamente non sufficenti per la trattazione di un argomento così ampio, e che pertanto presuppone una conoscenza di base del linguaggio da parte del lettore, o comunque uno studio approfondito prima di poter proseguire la lettura.
Il contenuto è stato suddiviso in
6 parti logiche, più o meno ampie a seconda della complessità degli argomenti.
Seguendo l'impostazione data dall'
autore, che vanta una consolidata esperienza nella trattazione di ambienti di sviluppo orientati al Web, come si evince dalle sue precedenti pubblicazioni, il lettore viene condotto passo dopo passo dalle basi della programmazione fino alla completa padronanza dell'argomento in modo molto lineare.
La
prima parte del libro è dedicata, dopo un primo capitolo sull'evoluzione dello sviluppo web, alla trattazione del linguaggio orientato agli oggetti C#: l'
autore illustra i costrutti fondamentali e le parti del linguaggio che più interesseranno lo sviluppo web.
Nella
seconda parte si avvia, in concreto, la programmazione di siti web utilizzando
Microsoft Visual Studio 2010; gli
esempi di programmazione illustrati possono essere implementati con qualsiasi versione dell'ambiente di sviluppo, compreso
Visual Web Developer 2010 Express Edition, il pacchetto completamente gratuito e disponibile per il
download direttamente dal sito di Microsoft. Si inizia dalla creazione di semplici pagine web per familiarizzare con il linguaggio HTML e XHTML, e si arriva poi ad aggiungere semplici controlli web, sia in modalità grafica, sia inserendone direttamente il codice HTML. In questa parte viene inoltre illustrato come
controllare gli errori delle pagine al fine di progettare siti più stabili, ed inoltre viene spiegato il modo in cui
ASP.NET gestisce gli
stati di visualizzazione del sito web.
In una normale applicazione Windows, l'algoritmo mantiene in memoria tutti i dati e le variabili necessarie al suo funzionamento dall'inizio alla fine, mentre nella programmazione web, ogni interazione con l'utente si conclude con la richiesta al server di una nuova pagina, rimuovendo completamente dalla memoria la precedente, così come tutti i dati in essa contenuti.
ASP.NET fornisce delle funzionalità, raccolte nella
ViewState Collection per fare in modo di trasferire i dati da una pagina all'altra facendo apparire all'utente finale l'intero sito web come una normale applicazione Windows. Questa parte fondamentale, trattandosi di uno degli
elementi principali che contraddistingue una applicazione web da una normale applicazione Windows, viene spiegata in modo chiaro ed approfondito.
Nella
terza parte viene illustrato come migliorare il sito web integrando controlli più complessi, strumenti per la
convalida dei dati inseriti nei form, introducendo
stili e
temi e, argomento anche questo di notevole importanza, la creazione di
Pagine Master.
Al fine di far apparire il sito web come una applicazione continua, e non come una serie di pagine indipendenti che si susseguono una all'altra (come in realtà è), è indispensabile utilizzare le
Pagine Master, ovvero la struttura esterna comune a tutte le pagine del sito che rimane invariata, che contiene a sua volta la parte che cambia in base alle interazioni dell'utente.
La
quarta parte è dedicata all'
accesso ai dati. Anche un sito web, come ormai quasi tutte le applicazioni di una media complessità, necessita di accedere a dati memorizzati in un server di database, al fine di consentirne all'utente la visualizzazione e la modifica, e per questo il
.NET Framework fornisce un'altra funzionalità definita
ADO.NET, una famiglia di classi per l'accesso e la manipolazione dei dati, nonché il
LINQ (Language Integrated Query), un linguaggio di alto livello per implementare le query di interrogazione dati.
In questa parte si usa quale motore di database
Microsoft SQL Server, anche questo disponibile gratuitamente nella versione
Express, ma può essere utilizzato qualsiasi altro database server che supporti il linguaggio SQL. Vengono brevemente illustrati i principi dei database relazionali e la sintassi del linguaggio SQL, ma anche in questo caso consiglio di approfondire con un testo dedicato, perché come per il linguaggio C# anche questo argomento è molto ampio e complesso da risultare impossibile approfondirlo in pochi capitoli. Viene infine introdotto XML, un linguaggio a struttura simile ad HTML, la cui funzione però non è la formattazione del testo, ma la descrizione del contenuto dei dati di una pagina web.
La
quinta parte è dedicata alla sicurezza del sito, con le
autorizzazioni e
autenticazioni utente, mentre la
sesta ed ultima parte riguarda la programmazione avanzata di siti web. Viene introdotto
AJAX, un'estensione delle funzionalità di
ASP.NET per gestire eventi e controlli avanzati come nelle applicazioni Windows, e viene inoltre mostrata la gestione di un sito web dal lato server, come vengono mantenute le directory che conterranno le pagine e i dati del sito, come viene pubblicato e gestito. Si tratta di
Internet Information Server, il sistema che gestirà e manterrà attivo il sito web.
In definitiva, il volume è una
guida completa ed approfondita, utile a chi non ha esperienza di programmazione web in modo professionale. Dopo aver letto tutti i capitoli si sarà in grado di progettare un sito web di alto livello.
Esistono sul mercato numerosi applicativi, alcuni anche gratuiti o di costo relativamente basso, che permettono di creare in pochi minuti siti web molto eleganti in modo grafico senza dover scrivere nemmeno una riga di codice, ma questo è tutt'altra cosa rispetto alla programmazione web, cioè saper progettare e gestire le funzionalità ed i servizi e
generare autonomamente il codice dell'applicazione. Il testo si propone proprio questo obiettivo, ed il risultato è centrato in pieno.
Per quanto riguarda lo
stile di linguaggio adottato dall'
autore, già dai primi capitoli si nota per la sua semplicità che ne facilita la comprensione, garantita anche a chi, pur avendo una buona conoscenza di programmazione in ambiente Windows e/o in linguaggi di alto livello, non ha mai affrontato la tematica della programmazione web. All'inizio il testo può apparire un po' complicato soltanto nell'interpretazione degli esempi di codice in HTML, e finché non si acquisisce familiarità con i tag, la lettura può sembrare difficile, ma una volta entrati nella logica tutto diventa molto chiaro e lineare.
Le
illustrazioni mostrano le finestre di Visual Studio ed aiutano nella descrizione dei passaggi da eseguire per l'implementazione degli esempi di codice;
schemi e
tabelle sono inseriti nei punti giusti senza eccedere.
All'inizio il
sommario è molto ben dettagliato e non manca l'
indice analitico in appendice.
Un compendio fondamentale per un programmatore che ha già conoscenze di linguaggi ad alto livello e di database relazionali, con il quale può completare le proprie conoscenze sviluppando applicazioni rivolte all'universo di Internet, ormai parte indispensabile nel mondo dell'informazione.