Descriviamo più in dettaglio le novità introdotte da questa versione di ASP.NET rispetto alla versione precedente, la 1.1. Molte di queste nuove caratteristiche saranno oggetto di studio nella guida. I cambiamenti riguardano le seguenti aree:
- Gestione delle applicazioni
- Progettazione e sviluppo delle pagine
- Controlli
- Dati
- Sicurezza
Gestione delle applicazioni
La configurazione del sito è stata migliorata ed include maggiori impostazioni.
Sono previste due cartelle speciali, "App_Code" e "App_Data", rispettivamente per file già compilati e per i file dei database. Precompilare il sito consente di rilevare in anticipo eventuali errori e di proteggere la proprietà intellettuale sul codice. Il sito compilato infatti può essere portato in ambiente di produzione (deployment) lasciando i sorgenti nel proprio ambiente di sviluppo.
Si può inoltre aggiungere un file XML, detto site map, che fornisce le informazioni necessarie per implementare menu di navigazione. Il site map potrebbe essere usato anche dai motori di ricerca per catturare i collegamenti presenti nel sito.
Progettazione e sviluppo delle pagine
L'introduzione delle "Master Page" consente di creare un layout coerente definendo un aspetto comune per un insieme di pagine, mentre il contenuto può essere implementato nelle singole pagine, in genere dinamicamente. Si possono inoltre, usare i Temi, che contengono un'insieme di "control Skin" per definire proprietà di controlli, stili CSS e immagini da utilizzare.
Il modello di programmazione code-behind è ora può contenere le classi parziali, per includere solo il codice strettamente necessario al funzionamento della pagina. Il risultato è una netta separazione tra codice lato server ed XHTML lato client. ASP.NET 2.0, comunque continua a supportare il modello a singolo file, che prevede codice lato server e lato client nello stesso file.
Con le Web Part si possono realizzare pagine modificabili dall'utente interagendo con il browser, ad esempio l'utente potrebbe decidere di non visualizzare una Web Part dalla pagina che sta visitando. Le modifiche dell'utente possono essere memorizzate e riutilizzate negli accessi successivi
Si può gestire la cache del sito operando direttamente sul file di configurazione (web.config).
Sono state migliorate anche alcune funzionalità client side. Sono disponibili procedure guidate (wizard) per controlli "multi page" e si può fare il post da una pagina all'altra senza seguire il consueto processo di andata e ritorno dal server.
Controlli
Tra le novità più significative c'è l'introduzione di nuovi controlli per i dati:
- GridView, che è l'erede di DataGrid permette di visualizzare ed editare dati in tabelle nonché ordinarli, senza scrivere una riga di codice.
- TreeView, che visualizza dati da file XML ed include molte opzioni per definirne l'apparenza e le caratteristiche. Ad esempio la navigazione per le pagine del sito si può realizzare con i controlli SiteMapPath e TreeView.
Altri nuovi controlli gestiti da ASP.NET, che in precedenza dovevano essere implementati direttamente in HTML e gestiti con codice lato server ad hoc, sono ora disponibili e personalizzabili come "FileUpload", "ImageMap" e "HiddenField".
I controlli già esistenti sono inoltre stati migliorati con l'inserimento di ulteriori caratteristiche.
Dati
Per collegare i dati ai controlli si può adesso usare il "Data Source Control" che incapsula connessioni, query e parametri in un singolo controllo. Lo si può configurare con valori assunti da altri controlli, parametri di sessione, cookies, querystring, in modo visuale o programmando a mano ed impostando i parametri a piacimento.
I dati XML possono essere collegati sia al TreeView che al GridView a seconda che si vogliano visualizzare in modo gerarchico o tradizionale. Le stringhe di connessione ai database, si possono inserire in una sezione dedicata del web.config, questa non è una novità ma in ASP.NET 2.0 è la norma.
Sicurezza
ASP.NET 2.0 fornisce supporto per l'autenticazione e l'autorizzazione degli utenti e per le password dimenticate. I controlli introdotti sono:
- Login che serve a validare le credenziali dell'utente,
- PasswordRecovery che fornisce varie opzioni per aiutare gli utenti a ricordare una password dimenticata o a sostituirla,
- LoginName per visualizzare informazioni dell'utente loggato,
- LoginStatus per presentare un pulsante di Login/Logout,
- LoginView che serve a mostrare contenuti a seconda delle autorizzazioni concesse all'utente.
ASP.NET 2.0 offre la possibilità di gestire i ruoli degli utenti. La gestione degli utenti e dei ruoli usa un modello che separa le funzionalità dai dati a cui il modello attinge, che possono provenire da database SQL Server, MS Access o altro (si può realizzare anche un database personalizzato).
Ambiente di sviluppo
Microsoft mette a disposizione gratuitamente un ambiente di sviluppo per ASP.NET 2.0: Visual Web Developer Express Edition 2005, comunemente abbreviato in VDW. Il VWD è la parte di Visual Studio dedicata allo sviluppo di applicazioni web.
In questa guida verrà fatto riferimento al VWD come ambiente di riferimento su cui sviluppare perchè è accessibile a tutti, essendo gratuito, è piuttosto semplice da utilizzare, ed implementa classi presenti in ASP.NET 2.0.
Si può sviluppare in ASP.NET anche usando altri ambienti come Macromedia Dreamweaver, o addirittura un semplice editor di testo come "Blocco Note", ma seguire le lezioni utilizzando VWD è alla portata di chiunque abbia un minimo di dimestichezza con il computer, senza necessariamente essere un informatico professionista.
A volte scenderemo a livello di codice per approfondire o capire alcune scelte, o per implementare situazioni particolari, cercando comunque di non complicare troppo la vita a chi segue la guida.
Per testare un'applicazione ASP.NET, abbiamo bisogno di un web server e, per essere più precisi, di un application server che sia in grado di riconoscere, compilare e eseguire il nostro codice. Possiamo usare IIS (Internet Information Server) che è presente nella versione Professional di Windows XP ed in Windows 2000 ma non nella versione Home di Windows XP. In ogni caso VWD mette a disposizione un web server di prova che funziona con tutti i sistemi windows.