Le
single page application (SPA) o single page interface (SPI) si stanno sempre più diffondendo grazie anche al successo di applicazioni come ad esempio
Gmail o
Google Docs. Si tratta, in sintesi, di applicazioni Web realizzate interamente in una
singola pagina con l'obiettivo di rendere l'esperienza utente più simile a quella delle applicazioni desktop. Sfruttando a pieno le tecnologie client-side come HTML, CSS, JavaScript e soprattutto Ajax è possibile eliminare l'anti-estetico refresh della pagina durante la navigazione e nel contempo ottenere un miglioramento nelle
prestazioni. Evitando infatti il caricamento dell'intera pagina ad ogni interazione con il server viene ridotto il traffico di dati tra client e server, limitandosi a scambiarsi soltanto quello che è strettamente necessario.
Per la realizzazione di SPA non esistono regole o strumenti standard, anche se esiste un
manifesto che riassume le
motivazioni ed i
principi a cui ispirarsi. Ciascuno può utilizzare gli strumenti che preferisce, anche se un framework può senz'altro aiutare a velocizzare i tempi di sviluppo.
Un esempio di framework del genere per chi utilizza la tecnologia ASP.NET è
ASP.NET Single Page Application. Incluso in
ASP.NET MVC 4, questo framework è composto da un insieme di
librerie JavaScript, un set di
Web API per il supporto server-side ed un
template di progetto per Visual Studio.
L'insieme di librerie JavaScript consentono la gestione della navigazione, l'accesso ai dati, al DOM ed il supporto di Ajax. Da notare l'utilizzo di
jQuery per la manipolazione del DOM e di
Knockout per il supporto del modello
MVVM.
Per quel che riguarda il lato server, l'introduzione della classe
DataController consente la gestione delle operazioni
CRUD e la validazione dei dati.
Un
tutorial online ed una serie di
applicazioni d'esempio consentono di prendere rapidamente confidenza con questo framework.