Il peso e la necessità di Javascript
Martedì 12 Dicembre 2006 - 09:07
di Alessandro Fulciniti

Recentemente sembra che i siti più influenti della rete siano continuamente
nel mirino. In Wasted Javascript di Rik Lomas è il turno di Slashdot e Digg. Il punto? Il peso del Javascript delle loro pagine. Viene presentata un’interessante analisi, di cui riporto un passo tradotto:
Slashdot, per esempio, carica stranamente due differenti librerie Javascript, YUI e Prototype. 332kb su 425kb di peso totale, ovvero il 78%, è Javascript puro. Visito Slashdot quasi ogni giorno e, sebbene legga solo le loro storie, non sapevo che usasse Javascript. Il motivo per cui usi due librerie javascript è oltre la mia comprensione.
La home page di Digg usa 216kb di Javascript su 319kb di peso totale. È il 67.7%. Guardando il Javascript, molto di esso sembra Prototype e Scriptaculous (l’intera libreria, non solo alcune parti), ma molto sembra pieno di Javascript vecchio stile (qual è lo scopo di una libreria se non la utilizzi?)
Roger Johansson in You cannot rely on JavaScript being available. Period. bacchetta invece Blogger, Bloglines e Ma.gnolia riprendendo le riflessioni di Ian Loyd sull’uso irresponsabile di Javascript dei tre servizi. Anche qui un passaggio tradotto, stavolta dalla conclusione:
È veramente sconvolgente vedere questa tendenza di non dare affatto (o abbastanza) peso a cosa succede quando un browser non supporta le tecnologie che vuoi usare. È ancora più inquietante vedere i framework Javascript impazzare nella comunità di sviluppatori per ogni sorta di cose, anche quelle che si potrebbero fare meglio senza.
Entrambi gli autori concludono con una riflessione molto simile, che condivido: il peso e l’uso improprio di Javascript, e in particolare di framework e librerie,
ci stanno riportando alla fine degli anni novanta, quando le tabelle per il layout,
le spacer gifs e il DHTML la facevano da padroni.
Categoria: Web Standards | Permalink
Commenti
1
Trovo assurde le scelte di determinati siti, che pur di utilizzare alcune librerie javascript si disinteressano dei tempi di caricamento delle pagine e del peso delle stesse.
C’è una bella differenza tra poter fare una cosa e metterla in pratica: vedi Lightbox 2.0 che pesa più di 100kb, o le librerie di yahoo che vanno anche oltre.
2
Fortunatamente le alternative ci sono. Come sempre, è compito nostro saper scegliere cosa fare ma anche come fare per raggiungere un determinato scopo.
Ciò detto, a me quelli che vanno in giro a fare le pulci ai siti stanno un po’ sul c*lo. Se pensi di saper far meglio qualcosa falla! Tanto per restare in argomento librerie di effetti js, un plauso ad andr3a e Valerio, ad esempio, che non volendo usare queste pesantissime librerie si sono fatti le loro e le hanno messe a disposizione x chi non ha le loro capacità di programmazione ma condivide il loro pdv. Invece il web è pieno di Soloni che si scandalizzano per le quisquilie, convinti di avere la Verità Rivelata in tasca. Anche tra i commentatori del blog, mi è capitato di leggere frasi francamente imbarazzanti (x chi le ha pronunciate), del tipo “ma come, HTML.it usa ancora le tabelle”, come se il sito si dovesse giudicare dalla sua tecnica e non dai suoi contenuti editoriali. E la stessa cosa dicasi per slashdot, che se usa js “vecchio stile” evidentemente è per far funzionare le “vecchie pagine”, piene di “vecchi contenuti”, che molti reputano utilissimi. Assai più dei post di Rik Lomas.
# - postato da paperogiallo - 12 Dicembre 2006 - 11:32
3
Sono d’accordo nel ritenere abbastanza assurdo un’utilizzo spropositato di JS.
A mio parere una pagina web ha il compito di proporre un contenuto.
Effetti e cavolate varie non sono indispensabili a chi deve usufruire del contenuto.Il peggio si raggiunge quando il contenuto viene erogato attraverso tecnologie mal supportate.
Ovviamente non esistono ancora regole precise o leggi che regolano come dev’essere costruito un sito web (a parte gli enti pubblici) per cui chiunque è libero di fare ciò che vuole.
Se decido di caricare 500K di js nella mia home page non faccio male a nessuno.
Se i testi della mia benedetta home page sono caricati via ajax non faccio male a nessuno.Quello che può capitare è un netto e tremendo calo del grafico delle statistiche di accesso…
Può capitare che un utente non legga nulla perchè ha JS disabilitato.
Può capitare che un utente con il 56k abbandoni il sito dopo la prima mezz’ora di caricamento.Personalmente sono daccordo con paperogiallo nel ritenere i contenuti il fulcro di un sito web.
Ritengo però che alcune funzionalità apportate da librerie js siano comode e apportino un valore aggiunto alle pagine.Non penso sia giusto giudicare persone che neanche conosco per le loro decisioni di utilizzare o meno determinate tecnologie.
Sono loro scelte.Nei miei siti cerco di utilizzarle il meno possibile favorendo CSS e cercando di perseguire lo standard xHTML 1.0 Strict per rendere effettivamente accessibili i miei contenuti.
Nei miei backoffice JS la fa da padrona. Cerco di utilizzare appieno librerie quali jQuery per velocizzare i compiti di amministrazione e pubblicazione dei contenuti.
Tutte le scelte che si fanno nella produzione di un sito web devono essere incentrate sull’utente finale… sul consumatore.
Se riesco a fare un sito con dreamweaver in 2 ore, brutto, codice sporco, javascript inutili, tabelle, gif spacer e chi più ne ha più ne metta ma questo sito viene visitato e mi porta un ritorno (economico magari:-) allora vuol dire che ho fatto la scelta giusta per gli utenti che lo frequentano.
Se faccio un sito con una cura maniacale per accessibilità, usabilità, leggerezza e standard web ma non viene visitato da nessuno… allora la scelta era giusta solo per me!
Voi esperti del settore giudicherete fantastico il secondo sito… Ma funziona?
Con questo non voglio giustificare chi “appesantisce” internet con i dinosauri…
Dico solo che non abbiamo alcun diritto di sparare giudizi sui siti degli altri!Perchè non apriamo un forum dedicato a giudicare spietatamente i nostri siti web?
Ovvero ogniuno è libero di aprire un th con l’url del proprio sito e poi tutti insieme cerchiamo il pelo nell’uovo?A livello tecnico potrebbe essere un’ottimo esercizio per migliorare le ns competenze!
Ovviamente non parlo di critiche “è troppo pensante” ma: “potresti togliere questo o quello”, “potresti sostituire quella tabella con..”.
Lo facciamo?
# - postato da Marco Pegoraro - 12 Dicembre 2006 - 14:41
4
@Marco Pegoraro
Se vuoi comincio subito, anche senza forum :)
Nel tuo blog ad ogni post c’è una UL con dei separatori “|” inseriti nei tag LI da soli, senza altro contenuto. Poco semantico e poco accessibile, xchè gli screen reader mettono delle pause tra ciascun li item…
Ma il punto è… xchè lo hai fatto? Io non lo so. Lo sai tu. Perchè devo venirti a fare le pulci (o come dici tu a “cercare il pelo nell’uovo”), con quale diritto? Non conosco i motivi che ti hanno portato a scrivere quel codice…
Quel che voglio dire è: un conto è cercare di “evangelizzare” a un uso consapevole dell’HTML in un mondo dominato dagli editor WYSIWYG, e parlo di evangelizzazione “attiva”, come fanno molti qui segnalando guide, risorse, best practices; un altro conto è fare i sofisti x il gusto di criticare, senza conoscere i motivi che hanno portato a quelle scelte che, come ho già detto, si assumono sbagliate solo in base a qualche dogma.
# - postato da paperogiallo - 12 Dicembre 2006 - 14:58
5
Beh, quelle lineette te le spiego subito:
Ho cercato di fare un template “fatto bene”… solo che ad un certo punto mi sono stancato e ci ho aggiunto delle cavolate solo per metterlo in linea.Ci sono molte altre cose che non vanno bene in quel sito. In ogni caso ti ringrazio per la critica.
Per l’ultima parte del tuo post… hai detto quello che volevo dire io in molte meno parole e in un modo migliore.
L’unica cosa che vorrei aggiungere è che l’”evangelizzazione attiva” non è solo proporre guide o articoli.. ma anche criticare l’utilizzo del pipe in un LI come hai fatto con me.Le critiche “generali” non penso vadano bene. Le critiche precise invece sono una manna dal cielo!
Quella che hai fatto tu è “evangelizzazione” attiva secondo me.# - postato da Marco Pegoraro - 12 Dicembre 2006 - 15:07
6
Voi esperti del settore giudicherete fantastico il secondo sito… Ma funziona?
Qual’è il nesso tra buon codice e il risultato finale visibile ?
Mi sfugge il paragone DW e codice scritto a caso e il resto del discorso … dire “funziona perchè è fatto con DW” non ha senso, spero tu sia d’accordo perchè qualunque sito fatto male potrebbe risultare agli occhi dei “normali navigatori” identico alla stessa versione di se stesso ma curato nei dettagli.
Quello che voglio dire è che non è che con DW fai siti che funzionano, fai porcherie o ottimi siti solo dal punto di vista “estetico” ma potresti ottenere lo stesso identico risultato facendo le cose come dovrebbero essere fatte … ovvero bene (concetto che in Italia è difficile da digerire).
Hai fatto un sito che funziona ? Bravo … hai usato DW, FP o GoLive ? … con la conoscenza del markup e degli stili avresti potuto ottenere lo stesso identico risultato grafico utilizzando la metà del codice e con la conoscenza del JS avresti potuto evitare le ridondandi ed inutili funzioni automatizzate di DW (MM_qualunque_cosa) alleggerendo per tutti il peso e velocizzando la navigazione (non mi soffermo affatto sul discorso controllo del proprio applicativo/sito) … quindi lo sai che se avessi fatto tutto per bene il tuo sito di successo avrebbe anche potuto averne di più ? … sarebbe stato più leggero ? … sarebbe stato più corretto semanticamente ? … sarebbe stato più accessibile ? … più visitato ? “più sito” ?
… ah certo, se continuiamo a crearli pensando che tanto gli utenti non si mettono a guardare il sorgente, il markup o a contare i secondi di attesa … beh, facciamoli con il solo Photo Shop e pubblichiamo immagini, funzionano anche meglio tanto possono essere accattivanti!
Ah no … poi non vengono indicizzati bene, propongo contenuti nascosti in un div no-display e giffone animate a go go al posto del markup, sai i grafici “da volantino” quante bottiglie di spumante stapperebbero !
Riguardo il post … la gente mette YUI o protaculous solo per un paio di effetti e se ne frega dei 56Kb e di chi non può o non vuole usare JS …
Il problema è voler mostrare a tutti i costi purchè sia di tendenza … il problema è caricare intere pagine in Ajax, volerlo usare al posto del markup, mettere suggest “pure nei links” e fare effetti speciali holliwooddiani a discapito di tutti, tranne di chi non è ancora stufo di vedere sempre le stesse cose … a tutti gli utilizzatori sfrenati di ogni sorta di libreria JS … ricordo che uno dei siti più visitati del mondo si chiama google, pesa 1,6 Kb g-zippato e non ha nemmeno mezzo effetto speciale … siete convinti che il vostro “funzioni meglio” ?
Ho nostalgia dei bei vecchi siti che non ammettevano un solo evento JS … ora non dico di castrare l’evoluzione del Web, ma secondo me sta prendendo una brutta piega e purtroppo non solo in Italia (non mi sarei stupito fosse stato così)
Scusate lo sfogo e ricordo che è sempre e solo una mia umile opinione, liberi di contestare tutto quanto :)
@Marco
il mio discorso non era necessariamente rivolto a te, ho solo colto un tuo spunto sapendo che non intendevi, spero, quanto da me replicato# - postato da Andrea Giammarchi - 12 Dicembre 2006 - 16:00
7
Personalmente ritengo che Andrea abbia ragione.
# - postato da Andrea Paiola - 12 Dicembre 2006 - 16:46







