Javascript Online-Kompressoren
Javascript ist mit diversen Frameworks wie z. B. jQuery, Prototype oder Ext wieder regelrecht in Mode gekommen. Damit die Ladezeiten nicht unnötig hoch ausfallen, ist es sinnvoll, besonders lange Skripte zu komprimieren.
In einem kleinen Versuch habe ich mit den folgenden Online-Kompressoren das bekannte prototpye.js kompremiert und anschließend die Funktionsfähigkeit des Skriptes getestet.
Ursprungsgröße der Versuchsdatei: 57.344 Bytes
-
4.096 Bytes (7.14 % vom Original)Nicht Funktionsfähig
-
24.576 Bytes (42.86 % vom Original)Bedingt Funktionsfähig
-
24.576 Bytes (42.86 % vom Original)Nicht Funktionsfähig
-
40.960 Bytes (71.43 % vom Original)Funktionsfähig
-
53.248 Bytes (92.86% vom Original)Funktionsfähig
Die Ergebnisse der einzelnen Kompressoren sind höchst unterschiedlich ausgefallen. Grund dafür sind die verschiedenen Methoden der Kompression.
Während manche Tools nur Umbrüche, Leerzeichen und Kommentare entfernen, greifen andere schon etwas tiefer in den Code ein und ersetzen z. B. lange Variablennamen mit Hilfe von regulären Ausdrücken.
Zu den Ergebnissen:
- Die extrem gute Kompression sieht sehr verdächtig aus und genauso ist es auch. Das Skript ist nach der Kompression mit diesem Tool völlig matsch und nicht mehr zu gebrauchen.
- Der Kompressor von Dean Edwards ist sicherlich einer der bekanntesten. Die kompremierte Version von jQuery wird z. B. mit Hilfe des Dean Edwards – Kompressor erstellt.
Die Kompressionsergebnisse von diesem Packer können sich wirklich sehen lassen.
Es gibt allerdings auch einen Haken, der Kompressor setzt voraus, dass sämtliche Javascript Ausdrücke z. B. Variablen-Deklarationen oder Funktionen mit einem Semikolon abgeschlossen werden. Ist dies nicht der Fall, ist das kompremierte Skript wie im Falle meines Test´s, nach der Kompression nicht mehr funktionstüchtig.
- Der Javascriptcompressor scheint auf dem Dean Edwards – Kompressor aufzubauen, dennoch war ich nicht in der Lage eine funktionsfähige Datei mit diesem Tool zu erstellen.
- Shrinksafe hebt sich von seinen Konkurrenten etwas ab. Der Name hat in diesem Fall seine Berechtigung, denn im Gegensatz zu den meisten anderen Kompressoren, verwendet Shrinksafe keine regulären Ausdrücke, sondern arbeitet mit dem Javascript Interpreter Rhino. Diese Methode ist viel sicherer, dafür fällt die Kompression nicht ganz so gut aus wie beim Dean Edwards Packer.
- Der Creativyst Kompressor erstellt ebenfalls funktionsfähige Dateien, lässt aber auf Grund seiner sehr geringen Kompression keinen Anlass zum Jubeln.
Fazit:
Der Dean Edwards Kompressor (2.) besitzt die beste Kompressionsrate, setzt aber eine genaue Skript-Syntax voraus, um die Funktionstüchtigkeit der Skriptdatei zu gewährleisten.
Der Shrinksafe Kompressor von Dojo (4.) ist mein persönlicher Sieger. Man erhält auf Grund der Technik des Kompressors sehr zuverlässige Ergebnisse. Ein aufwendiges anpassen der Ursprungsdatei ist somit nicht notwendig.
Hinweise:
- Backups der zu kompremierenden Dateien erstellen, um ein späteres Ändern des Skriptes zu ermöglichen.
- In Verbindung mit gzip lassen sich teilweise noch bessere Ergebnisse erzielen.
ähnliche Beiträge:
- Regexbuddy – Reguläre Ausdrücke
“Reguläre Ausdrücke” sind ein wichtiger Bestandteil von Programmier- und Skriptsprachen. Regexbuddy
Das bessere Notepad – Notepad2
Als Sysadmin muss ich sehr oft mit einem Editor arbeiten (Editieren von Batchfiles, Skripten usw). A
Flexible Renamer – Dateien und Verzeichnisse bequem umbenennen
Webentwickler erhalten regelmäßig Dateien von Dritten, wie z. B. Fotografen oder Kunden. Dabei kommt



