Mi sembrava strano che Microsoft non avesse in nessun modo cavalcato l'onda di AJAX, lasciando il suo ASP.NET impantanato tra i postback, senza la possibilita' di gestire nativamente le chiamate asincrone.

E infatti, leggendo questo post di Gianpiero vengo a conoscenza di un progetto di Ms per integrare AJAX in ASP.NET.

Cito Gianpiero:

Microsoft rilascia questo pacchetto che si integra con Visul Studio 2005 e Visual Web Developer 2005. Questa funzionalità permette di realizzare pagine web con chiamate Asincrone , il termine utilizzato in rete è AJAX (Asyncronous Javascript And XML).

Le applicazioni web tradizionali (Sincrone) presentano form completati da un utente e inviati ad un web server che risponde inviando una nuova pagina indietro. Dal momento che il server risponde inviando una pagina alla volta, le pagine vanno più lente dei loro complementi nativi.

Le applicazioni Ajax, invece, possono richiedere al web server di mandare indietro solamente i dati di cui hanno bisogno.

In pratica è la possibilità di usare Javascript lato client, assieme al componente XMLHttp, per inviare delle richieste a pagine sul server, ottenerne il risultato sotto forma di XML (ma anche stringa normale), e sempre attraverso Javascript aggiornare la pagina corrente con le nuove informazioni recuperate.

Si puo' iniziare a 'spippolare' con ATLAS scaricando Atlas Blank Project VSI (January release) :

Use this project add-in to Visual Studio 2005 to create your own Atlas web project.  Includes Atlas binaries and everything you'll need.

L'installazione di questo componente comporta la comparsa tra i possibili 'Web Site' realizzabili con Visual Web Developer di un ASP.NET 'Atlas' Web Site.

Creando il nuovo progetto, la differenza principale che salta all'occhio e' la presenza di un folder ScriptLibrary/Atlas, con al suo interno alcune librerie Javascript, contenenti al loro interno tutto l'occorrente per la gestione dell'interfaccia Client-Side.

Spulciando gli esempi presenti nel QuickStart Tutorial e' possibile rendersi conto del funzionamento di ATLAS: al normale design della pagina si aggiunge una sezione di codice incaricata di gestire gli eventi client-side, richiedendo dati al WebServer e aggiornando i vari componenti della pagina (anche controlli server-side) senza effettuare il postback e quindi ricaricando la pagina.
E' possibile inoltre accedere in maniera semplice anche a WebServices, prelevarne i dati e presentarli sul client senza effettuare il  refresh della pagina, il tutto con un notevole guadagno di velocita' e usabilita'.

In questa pagina, e nella sezione Example 2: ControlExtenders per la precisione, si puo' vedere all'opera un autocompletamento di una TextBox, con i dati che vengono attinti direttamente da un WebService: con uno sguardo al sorgente e' possibile comprenderne il funzionamento e la semplicita' di implementazione.

Lavorando gia' con AJAX sul vecchio ASP 3.0, e apprezzando le possibilita' di ASP.NET non nascondo il mio notevole interesse per ATLAS: sto iniziando solo ora a studiarne le reali possibilita' 'sul campo', a breve una recensione 'con i piedi per terra' :-)