Progressive enhancement con Javascript

di: Aaron Gustafson     02 Febbraio 2009

Questa è la traduzione dell'articolo Progressive Enhancement with JavaScript di Aaron Gustafson pubblicato originariamente su A List Apart il 4 Novembre 2008. La traduzione viene qui presentata con il consenso dell'editore e dell'autore.

Se avete letto il primo e il secondo articolo di questa serie, dovreste essere già a buon punto nella comprensione del meccanismo del progressive enhancement. In questo articolo discuteremo su come applicare la filosofia del progressive enhancement agli script lato client. Come vedrete presto, si tratta di una strategia che si basa si due concetti fondamentali: avere dei limiti e pianificare.

Usate con cautela la potenza che è nelle vostre mani

Avete probabilmente sentito al frase "il potere corrompe". Ci sarebbe tanto da aggiungere, ma per lo scopo di questo articolo rimaniamo a queste due parole. Javascript è uno strumento incredibilmente potente e per molto tempo ha esercitato sul web una sorta di forza corruttrice. Ha innescato il sorgere di blocchi, messaggi di errore e infinite finestre popup sbattute in faccia all'utente. Inoltre, è stato un linguaggio non del tutto compreso, il che ha contribuito all'abuso che se ne è fatto.

Non solo Javascript stava producendo più danni che benefici, ma è diventato pure ingestibile. Sotto la superficie era una specie di tana di topi piena di codice che causava presto la fuga tra le urla di chi vi si avvicinava; il mantenimento era un incubo per via della proliferazione di fork del codice involute e spesso criptiche.

A quel tempo, Javascript era davvero orribile ma necessario: i browser dovevano ancora implementare un supporto decente per gli standard e gli sviluppatori erano impegnati a mettere insieme codice confuso sulle pagine web. Javascript doveva compiere ancora molti salti per implementare cose semplicissime a livello di compatibilità cross-browser, anche per un semplice rollover di immagini.

Per fortuna, ora viviamo in un mondo migliore e possiamo finalmente rendere Javascript più pulito. Eppure, dobbiamo ancora guardare con rispetto alla sua potenza. Dobbiamo preoccuparci del come Javascript possa essere usato così come del cosa può fare, forse di più. Dobbiamo porci dei limiti. Il progressive enhancement ci aiuta a fare tutto ciò perché ci costringe a concentrarci sui contenuti e a sviluppare a partire da essi.

Stabilire una linea di base

Con il progressive enhancement sviluppiamo siti basati su codice usabile. Il concetto chiave di Javascript da tenere in mente è che tutti i contenuti di cui l'utente ha bisogno per capire una pagina dovrebbero essere fruibili anche in assenza di Javascript. Punto.

Un esempio. Forse il contenuto in questione è una tabella di raffronto tra prodotti. Se tra i requisiti del sito c'è che i dati devono essere ordinabili per colonna, potreste considerare l'idea di caricare la tabella nella pagina con Ajax in modo tale che possa essere riordinata lato server in uno specifico momento. Sembra tutto perfetto, vero?

Invece è sbagliato.

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti