di .NET e di altre amenità

ASP.NET AJAX: Occhio alle controindicazioni

Non so quanti di voi se ne siano accorti, ma l'introduzione di AJAX e di tutta una serie di feature client-based che popolano i moderni siti web ha scatenato la proliferazione degli include di Javascript. La "malattia" è piuttosto grave in quanto non capita di rado di trovare delle pagine web che arrivino a pesare 300/400 kilobyte. Se fate un esperimento, provando a salvare una pagina sul pc dal browser, immediatamente salterà all'occhio che gli script che popolano le moderne applicazioni appesantiscono in modo esagerato la pagina. Per darvi un'idea sappiate che il Javascript dei ASP.NET AJAX, in modalità "Release", contiene 89KB di codice,

Nonostante le linee broadband che sono disponibili oggi è palese che c'è qualcosa che non va, e che tale quantità di script deve essere sfoltita. Ecco perciò un paio di suggerimenti

1) Scegliete opportunamente la libreria Ajax più opportuna: La presenza di una "modalità" release degli script di ASP.NET AJAX, dimostra che qualcuno si è reso conto che essi sarebbero potuti diventare un problema e ne fa una ottima alleata. Lo stesso purtroppo non si può dire per l'AJAX Control Toolkit che ha svariati script molto pesanti. Una volta che avete scelto la libreria che fa per voi evitate accuratamente di mischiare altre librerie dato che in questo modo gli script tenderebbero fatidicamente a raddoppiare o triplicare. Ricordatevi inoltre che AJAX è una bella cosa, ma se in un ambiente intranet con una connessione a 100 mbit o più è accettabile, in un sito web pubblico, probabilmente è meglio lasciarlo da parte e se propro non potete farne a meno, almeno toglietelo dalla home page.

2) Attivate, se potete, la compressione HTTP includendo per le pagine dinamiche le seguenti estensioni: aspx, axd, e ashx. Quella che conta veramente è axd perchè è tramite esse che ASP.NET eroga molti deli script.

3) Comprimete gli script e i css: Ecco quelli che ho trovato migliori nel rapporto di compressione: Javascript Compressor, CSS Compressor. Il meccanismo su cui si basano è molto semplice e comporta il togliere spazi, commenti e qualunque altro carattere inutile. Il compressore Javascript è in grado di anche di usare una codifica particolare che poi viene scompattata dallo stesso Javascript nel momento in cui avviene il download. Il difetto è che hanno il potere di rendere illeggibile il codice perciò vi conviene mantenere una copia dell'originale.

4) Semplificate: ricordate che chiunque è in grado di complicare le cose aggiungendo ammenicoli, campi, e gadget alla pagina, ma alla fine la scelta giusta è quella di rinunciare a qualcosa. Ad esempio, in un recente progetto mi sono accorto che il controllino Calendar da solo generava 24KB di script. Il controllo è utilissimo, ma a mio parere in queste condizioni è meglio dare all'utente un normale validatore.

5) Organizzate la vostra pagine in modo tale che l'utente veda qualcosa da subito anche se poi deve attendere un po' per arrivare al completamento del caricamento. In questo gli iframe sono una vera manna dal cielo. Oggi, con il livello che hanno ottenuto i browser è davvero possibile beneficiarne... ma al solito enza esagerare

Technorati tags: , ,

Commenti

2007-03-21T20:41:36+01:00 #

Io non amo molto gli iFrame. Quindi vi suggerisco un'alternativa al loro uso per ottenere l'obiettivo indicato al punto 5) da Andrea. Date un occhiata a questi video:

http://www.asp.net/learn/videos/view.aspx?tabid=63&id=118
http://www.asp.net/learn/videos/view.aspx?tabid=63&id=120

Davide Vernole