Minificazione
In informatica, la minificazione è il processo di rimozione degli elementi non necessari e di riscrittura del codice per ridurre le dimensioni dei file. Viene eseguita comunemente sulle risorse delle pagine web, come i file HTML, CSS e JavaScript. Ridurre le dimensioni delle risorse web consente di trasferire i file più rapidamente, facendo caricare più velocemente le pagine web.
Esistono diversi modi per minificare i dati. Il più semplice consiste nel rimuovere i commenti, gli spazi non necessari e le interruzioni di riga caratteri (di nuova riga). Sebbene i commenti e gli spazi vuoti contribuiscano a rendere il codice più leggibile, il browser li ignora. Pertanto, questi elementi possono essere rimossi senza problemi prima della pubblicazione. Un altro metodo consiste nel ridurre il codice necessario per ogni istruzione. In CSS, questo risultato viene spesso ottenuto convertendo il CSS in forma estesa in CSS abbreviato. Ad esempio, una definizione margin potrebbe occupare sette righe nella forma estesa, ma una sola riga nella forma abbreviata. In JavaScript, i nomi lunghi delle variabili possono essere sostituiti con nomi più brevi spesso un solo (carattere).
Di seguito è riportato un esempio di codice CSS prima e dopo la minificazione. Si noti come vengano rimossi i commenti, gli spazi, le interruzioni di riga e i punti e virgola non necessari. Il codice viene inoltre convertito da CSS in forma estesa a CSS abbreviato.
Codice CSS standard
img.left /* float left 400px image */
{
float: left;
max-width: 400px;
margin-top: 8px;
margin-right: 30px;
margin-bottom: 12px;
margin-left: 0px;
}
Codice CSS minificato
img.left{float:left;max-width:400px;margin:8px 30px 12px 0}
Gli algoritmi di minificazione avanzata possono ridurre ulteriormente le dimensioni dei file. Un minificatore CSS, ad esempio, può individuare e rimuovere le righe duplicate all'interno di un file CSS. Può anche combinare definizioni CSS simili in un'unica istruzione. Un minificatore JS può persino riscrivere le funzioni JavaScript per renderle più efficienti.
La minificazione del codice consente spesso di risparmiare solo pochi kilobyte. Ad esempio, un file CSS standard può avere una dimensione di 50KB, mentre la versione minificata può avere una dimensione di 40KB. Tuttavia, quando si migliora la velocità di caricamento di una pagina, ogni kilobyte è importante. L'obiettivo di un buon minificatore è ridurre il più possibile le dimensioni del file senza alcun effetto sul modo in cui il codice viene analizzato o elaborato. Indipendentemente dal minificatore utilizzato, gli sviluppatori conservano in genere una versione non minificata del codice per poterla modificare in futuro.
Minificazione e compressione a confronto
Sebbene la minificazione e la compressione dei file riducano entrambe le dimensioni dei file, non sono identiche. La minificazione modifica semplicemente il testo, mentre la compressione dei file riscrive completamente il codice binario all'interno di un file. Un file compresso deve essere decompresso da un'utilità di decompressione dei file per poter essere letto come file di testo. Molti siti web usano una combinazione di minificazione e compressione dei file "gzip" per ridurre il più possibile le dimensioni delle risorse web.
Metti alla prova le tue conoscenze