Civile.it
/internet
Osservatorio sul diritto e telecomunicazioni informatiche, a cura del dott. V. Spataro dal 1999, documenti.

Il dizionario e' stato letto volte.



Segui via: Email - Telegram
  Dal 1999   spieghiamo il diritto di internet  Store  Podcast  Dizionario    
             



Consulenza privacy e e-commerce



  






Dizionario 12.02.2021    Pdf    Appunta    Letti    Post successivo  

Minificare: cosa significa - dizionario

Minificare il codice perche' vengano trasmessi meno bytes sul web, accorpando piu' files; talvolta per renderlo illeggibile.


Valentino Spataro

 

M

Minificare è un termine che si usa spesso per il css e per javascript.

I framework per il web più famosi hanno tutti una versione integrale, human readable, e una minificata, per non trasmettere bytes inutili. Ecologica direi, non solo per il vantaggio di avere siti più veloci.

I file css e javascript sono presenti in tutti i siti. Spesso ce ne sono molti perchè si riutilizzano varie soluzioni. Ogni richiesta di un nuovo file rallenta la composizione del sito, così si usano due tecniche:

- accorpare tutti i .js in un unico (di solito .min.js) e ridurre la lunghezza dei nomi di funzioni e variabili

- comprimere l'output con gzip o simili.

L'accorpare i files in uno unico per tipo (uno per i css e uno per js) ha già i suoi vantaggi, ma l'ottimizzazione dei nomi usati permette di risparmiare tantissimi bytes.

La tecnica di ridurre il nome delle variabili e delle funzioni viene presa a prestito dai software di offuscamento che nascondono il sorgente alla vista umana, per rendere più difficile la copia. Le chiamate alle librerie di sistema non possono essere ridotte, ma tutte le altre si'. Di fatto si impone la riscrittura del codice.

E' vero che si offusca, ma anche si riduce. Nel caso di software non compilato è questo il risultato principale; nel caso del software compilato la decompilazione è meno utile.

Nel caso dei css il vantaggio consiste soprattutto nel rimuovere gli spazi, perchè gli id e le classi non si possono cambiare, se non in ambienti come WordPress che ha il pieno controllo del tema.

Nel caso dei js il vantaggio è maggiore. In ogni caso è uso distribuire sempre entrambi (versione .js e .min.js ) corredati degli altri files (immagini, font, etc) licenze e documentazione tecnica e d'uso.

Un esempio ? Materializecss, ma anche getbootstrap; anche jquery e jqueryUI, ma tutti: si trovano nel web e su github.

Per gli sviluppatori l'effetto concreto è che per apportare modifiche o sviluppare ulteriormente il sorgente si lavora sempre sul codice non minificato.

Il sorgente minificato non diventa compilato. La compilazione rende un sorgente human readble leggibile anche da una macchina.

I sorgenti minificati invece continuano ad essere interpretati volta per volta, salvo l'uso di cache.

Nell'immagine è evidente come i comandi non possano essere minificati perchè devono ancora essere interpretati. Resta la sintassi del linguaggio. I nomi di funzioni e variabili, e gli spazi e i commenti, sono ridotti o tolti se inutili.

Sempre nell'esempio, molto semplice, la minificazione non incide sulla leggibilità, ma nei progetti di grandi dimensioni il risultato è scarsamente leggibile.

12.02.2021 Valentino Spataro



Domicilio digitale
Trojan di Stato
User Experience
Hash rate
Algoretica
Algoritmi comportamentali
GameStop
Quantum computing
Indicizzazione
Robo Advisor



Segui le novità in materia di Dizionario su Civile.it via Telegram
oppure via email: (gratis Info privacy)


Dossier:



dallo store:
visita lo store









Dal 1999 il diritto di internet. I testi sono degli autori e di IusOnDemand srl p.iva 04446030969 - diritti riservati - Privacy - Cookie - Condizioni d'uso - in 0.029
Introdotte le statistiche di Google anonimizzate e temporaneamente