Wednesday, March 11, 2009

Ottimizzazione Js

. Wednesday, March 11, 2009

L’ottimizzazione di una applicazione web passa anche dall’ottimizzazione dei singoli elementi script Js che la compongono.
Rimuovere spazi, commenti, righe vuote ecc può ridurre dal 20% al 30% la dimensione del nostro script con un bel risparmio per il browser che lo deve scaricare.
I modi per eseguire questo tipo di ottimizzazione sono diversi.
In Visual Studio non mi risulta ci sia un tool integrato, ma nulla ci vieta di aggiungerne uno specifico. Attraverso External Tools abbiamo accesso ad una serie di strumenti esterni che ci facilitano lo sviluppo/debug. Per esempio nella lista, di default, è disponibile Create Guid che consente di generare un identificatore GUID in base ai criteri specificati.
A questi strumenti possiamo aggiungerne altri come per esempio JsTrim, un compressor Js a riga di comando.
Il componente permette essenzialmente due livelli di compressione. Il primo, basic, esegue un'eliminazione di tutto ciò che può essere superfluo, come accennavamo ad inzio post. Il secondo invece utilizza l'algoritmo di Dan Edvards che permette di ottenere un’ottimizzazione con un risparmio di più del 40%. Quest'ultimo però, è più lento nel caricamento rispetto al primo, per via della decompressione che il browser deve attuare.
I passi per aggiungere JsTrim alla lista degli strumenti:
cliccare su Tools > External Tools


JsTrim

Indicare 1) un titolo nell'apposito campo, 2) il path dell'eseguibile (per uniformità si può copiare il punto exe di JsTrim nella cartella ...\Microsoft Visual Studio 8\Common7\Tools), 3) gli argomenti (per maggiori dettagli vi rimando alla documentazione).
Per chi fosse interessato a YUI Compressor segnalo il seguente post:
Compressing and obfuscating javascript and css files with YUICompressor in Visual Studio
Per chi invece non utilizza Visual Studio, funzionalità di ottimizzazioni sono presenti in molti applicativi. Giusto per citarne uno: Aptana che avevo già segnalato tempo fa al seguente post.
Esistono anche servizi web in cui è sufficiente indicare il file js da ottimizzare e il servizio fa il resto.
Per esempio in Javascript Utility Web Site è disponibile un JavaScript Compactor (il file deve essere maggiore di 1000 bytes).
Al completamento della procedura viene mostrata la percentuale di riduzione della dimensione del file.
Altro sito estremamente interessante è Bananascript che, come il precedente, mostra tutta una serie di statistiche a fine processo ma come si può leggere dalle faq:
"Besides the common removal of comments, tabs and spaces as seen in many other tools, this tool also performs "real" compression on the files. The idea is simple, replace long recurring byte sequences by shorter ones."
non si limita ad eliminare il superfluo ma esegue una compressione reale.bananascript1

0 commenti:

Post a Comment