Minify
Minifizieren ist eine Technik, mit der Programmcode verkleinert wird, ohne seine Funktion zu verändern. Dies geschieht
- durch Entfernen von Leerräumen (Whitespace), sofern nicht syntaktisch erforderlich
- Entfernen von Kommentaren
- Verwenden alternativerer, kompakterer Sprachkonstrukte
- Umbenennen von Bezeichnern
Für compilierte Sprachen ist Minifizierung nicht von Bedeutung, aber für im Quelltext übermittelte, interpretierte Programme lässt sich eine deutliche Platzersparnis erreichen. Da die Browser Code nicht direkt als Quelltext ausführen, sondern in eine interne, teil compilierte Form übersetzen, sind Laufzeitgewinne durch Minifizierung kaum erreichbar.
Von einer Minifizierung profitiert hauptsächlich JavaScript, aber auch CSS und HTML sind minifizierbar. Ein Umbenennen von IDs und Klassen in HTML ist natürlich nur möglich, wenn die Minifizierung übergreifend über HTML, CSS und JS erfolgt.
function handleMessage(message)
{
let ergebnis;
// Eine Message mit Steuerparameter 17 aktiviert die Sonderbehandlung
if (message.steuerParameter == 17) {
ergebnis = true;
meldungAusgeben("Siebzehn!");
messageSonderbehandlung(message.body)
}
else {
ergebnis = false;
}
return ergebnis;
}
if
-Verzweigung durch einen ternären Operator ersetzt und der else
-Teil der Verzweigung mittels des Komma-Operators gebildet.function handleMessage(message){let ergebnis;message.steuerParameter==17?ergebnis=true,meldungAusgeben("Siebzehn!"),messageSonderbehandlung(message.body):ergebnis=false;return ergebnis;}
function hm(m){let e;m.steuerParameter==17?e=true,mA("Siebzehn!"),mS(m.body):e=false;return e;}
steuerParameter
-Eigenschaft möglich ist. Durch Code-Umstellung lässt sich aber trotzdem noch etwas tun. Das Setzen des Ergebnisses ist unabhängig vom Aufruf der Meldung und der Sonderbehandlung, die Variable lässt sich also einsparen, wenn man den Wert true/false am Ende der Teilausdrücke setzt:function hm(m){return m.steuerParameter==17?mA("Siebzehn!"),mS(m.body),true:false;}
Stark minifizierter JavaScript-Code ist für Menschen kaum noch lesbar und stellt damit eine einfache Form des Quellenschutzes dar. Man spricht daher auch von Verschleierung (obfuscation) oder Uglyfication.
JavaScript komprimieren
JavaScript-Code enthält üblicherweise Kommentare und Whitespace. Sie können diese durch ein Programm oder online entfernen und so ihre Scripte um 30-70% komprimieren.[1]
- jscompress
- uglify.js
- Closure Compiler (ADVANCED_OPTIMIZATIONS benennt Variablen und stellt Funktionen um, damit der Code noch kürzer wird)
Natürlich existieren auch Programme, um komprimierten Code wieder zu entpacken und zu verschönern:
- jsbeautifier: Beautify JavaScript
Weblinks
- ↑ David Wlash: Better Compression with UglifyJS