HomeKontaktImpressum
Sie sind hier: Home

JavaScript Kompressoren

Bevor eine JavaScript-Datei durch ein normales Packprogramm geschickt wird lohnt es sich, ein spezielles Tool zum Packen von JavaScript-Dateien einzusetzen. Dieser vorgelagerte Arbeitsschritt kann den Quelltext durch Entfernen überflüssiger Zeichen oder Verkürzung der Namen von Bezeichenern deutlich kompakter machen.

Abgesehen von der GZIP-Komprimierung auf Basis der HTTP-Anfrage gibt es diverse Tools, die es dem Betreiber einer Internetseite ermöglichen, die JavaScript-Sourcen auf andere Art einzudampfen. Hier gibt es unterschiedliche Ansätze, die auch durch einige angebotene Werkzeuge miteinander kombiniert werden. So gibt es beispielsweise den Ansatz Kommentare und überflüssige Leerzeichen aus der Quelldatei zu entfernen. Hierdurch wird – vorausgesetzt der Programmierer hat seine Sourcen auch kommentiert – bereits eine recht ordentliche Verkleinerung der Quellen erreicht.

Ein Vertreter dieser Fraktion ist beispielsweise der Crunchinator von Mike Hall. Dieser beschränkt sich auf das automatische Entfernen von Scriptkommentaren und löscht Leerzeichen aus den Quellen. Zusätzlich werden durch den Plus-Operator aneinander gereihte String-Komponenten durch Strings ersetzt, die quasi das Ergebnis der Aneinanderreihung vorwegnehmen. Derartige Lösungen sind zugleich auch die sichersten, da der Code keiner Veränderung unterzogen wird. Hinter diesem Script stehen im Grunde nur eine Reihe von regulären Ausdrücken, die Ersetzungen vornehmen.

Bei einem anderen Ansatz wird dafür gesorgt, dass die Namen von Variablen und Funktionen im Script durch möglichst kurze Bezeichner ersetzt werden. Der JavaScript Compressor von Dean Edwards nutzt dieses Verfahren (bei aktivierter Option „shrink variables”) und erreicht hierdurch – je nachdem, wie sprechend ein Entwickler seine Bezeichner wählt – deutlich kompaktere Script-Dateien. Mit der Option „Base62” kann das Script – allerdings erst ab einer gewissen Scriptgröße – zusätzlich durch einen integrierten Entpacker-Code, der auf einem Lexikon arbeitet, verkleinert werden. Zwar muss der Code zunächst einmal entpackt werden, bevor die Ausführung möglich ist, allerdings führt die Komprimierung auch zu einem deutlich geringeren Datenvolumen. Bei zeitkritischen Anwendungen, bei denen der Code möglichst ohne den Overhead der Dekomrimierung ausgeführt werden muss, sollte diese Option also nicht verwendet werden.

In derartigen Anwendungsszenarien eignen sich Kompressoren, wie der YUI-Compressor von Julien Lecomte besser. Hier handelt es sich um ein in Java geschriebenes Kommandozeilen-Programm, welches den JavaScript-Code komprimiert. Darüber hinaus kann er auch zur Komprimierung von Stylesheets genutzt werden. Unter Compressor Rater findet sich ein Tool von Arthur Blake, welches die wohl effektivsten JavaScript-Packer miteinander vergleicht. Im Zweifelsfall sollte das individuell zu komprimierende Script hier ersteinmal auf anwendungsspezifische Rahmenbedingungen, wie Kompressionsrate oder Zeit zum Entpacken geprüft werden.

Auch nachdem einer der oben genannten Kompressoren sich die Sourcen vorgenommen hat lohnt eine Komprimierung der resultierenden Dateien mittels GZIP. Die Dateigröße kann, ausgehend von der durch das genutzte Tools gelieferten, nochmals um etwa 50% schrumpfen. Übrigens ist das Komprimieren von JavaScript-Code nicht allein zur Steigerung der Website-Performance zu gebrauchen. Bei der Entwicklung von Bookmarklets – hier handelt es sich um kleine JavaScript-Schnipsel, die als Link in den Bookmarks des Browsers abgelegt werden können – ist man durch die maximal in einer URL mögliche Anzahl von Zeichen darauf angewiesen, dass der Script-Code möglichst klein ausfällt. Die Anzahl der in einem Bookmarklet erlaubten Zeichen hängt dabei von der verwendeten Browseranwendung ab.

Seite 2 von 2 | « [1] • [2] »







  
© 2009-2024 Möglichkeiten zur Steigerung von Geschwindigkeit und Usability Ihrer eigenen Website