Warum sollte man JavaScript-Code minimieren?

Durch die Reduzierung der Dateigröße kann die JavaScript-Minifikation die Performance von Webseiten verbessern.

Share facebook icon linkedin icon twitter icon email icon

JS Minifikation

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Was ist Minifikation von JavaScript?
  • Was ist Uglification, Verschleierung und Verschlüsselung?

Was ist Minifikation in JavaScript?

Minifikation, auch als Minimierung bezeichnet, ist der Prozess, bei dem alle unnötigen Zeichen aus dem JavaScript-Quellcode entfernt werden, ohne dabei die Funktionalität zu verändern. Darunter fallen das Entfernen von Leerzeichen, Kommentaren und Semikolons sowie die Verwendung kürzerer Variablennamen und -funktionen. Die Minifikation des JavaScript-Codes führt zu einer kompakten Dateigröße.

Hier ist zum Beispiel ein Codeblock vor und nach der Minifikation:

Vor der Minifikation: acht Codezeilen

JavaScript Without Minification

Nach der Minifikation: nur eine Codezeile

JavaScript With Minification

Minifikation beschleunigt das Laden von Webseiten, wodurch das Website-Erlebnis verbessert wird, sodass am Ende sowohl Besucher als auch Suchmaschinen zufrieden sind.

Wie unterscheidet sich die Minifikation von Verschleierung, Komprimierung, Verschlüsselung oder Uglification?

  • Uglification: Uglification ist im Wesentlichen ein ähnlicher Prozess wie Minifikation. Uglify JS ist eine JavaScript-Bibliothek zur Minifikation von JavaScript-Dateien. Um eine JavaScript-Datei zu „uglifizieren“, müssen Sie diese mit Uglify minimieren. Uglification verbessert die Performance und verringert gleichzeitig die Lesbarkeit.
  • Verschlüsselung: Verschlüsselung ist der Prozess bei dem einfache Daten (plain data) in codierte Daten übersetzt werden. Diese verschlüsselten oder codierten Daten nennt man Chiffretext. Um sie zu entschlüsseln, muss man einen geheimen Schlüssel verwenden. Der Browser kann keinen verschlüsselten Code ausführen. Die Verschlüsselung ist nur ein Sicherheitsmerkmal und reduziert nicht unbedingt die Größe einer Datei.
  • Verschleierung: Dieser Prozess wird verwendet, um die Geschäftslogik zu verbergen. Der Code wird so geändert, dass er für Menschen nicht mehr lesbar ist, was das Reverse Engineering erschwert. Die Verschleierung unterscheidet sich von der Verschlüsselung darin, dass Computer den Code immer noch verstehen und ausführen können. Die Verschleierung erfolgt durch das Ändern der Namen von Variablen, Funktionen und Elementen. Die daraus resultierende Reduzierung der Dateigröße verbessert auch die Performance, auch wenn das nicht das Hauptziel einer Verschleierung ist.
  • Komprimierung: Die Datenkomprimierung ist ein Prozess, bei dem die Anzahl der zur Darstellung von Daten erforderlichen Bits reduziert wird. Durch die Datenkomprimierung kann wertvoller Speicherplatz auf Festplatten freigeräumt werden, was wiederum die Dateiübertragung beschleunigt und die Kosten für die Netzwerkbandbreite senkt. Einige Dateien, wie z. B. Microsoft Word-Dateien, können dabei auf 90 Prozent ihrer ursprünglichen Größe komprimiert werden.

Warum schreiben Entwickler nicht gleichen einen minimierten Code?

Durch die Minifikation entstehen kompakte Dateien, was den Prozess zu einer der Best Practices der Webperformance macht. Warum schreibt man den Code dann nicht gleich in einer minimierten Form?

JavaScript-Code wurde für und von Menschen geschrieben. Menschen brauchen Leerzeichen, Formatierungen und Kommentare, um den Code verstehen und debuggen zu können. Nachdem der Code geschrieben wurde, kann dann Minifikationssoftware verwendet werden, um die Performance zu verbessern, denn Browser können den Code ausführen, ohne ihn verstehen zu müssen.

Was sind die Nachteile der Minifikation?

Während der Minifikation können komplizierte Skripte aufgrund von standortabhängigen Variablen wie Themes, Plugins und der Serverumgebung beschädigt werden. Die Minifikation muss auch in Verbindung mit anderen Performanceoptimierungen erfolgen. Minifikation allein bringt möglicherweise keine signifikanten Vorteile. Die Minifikation kann auch zu Fehlern führen, die sich nur schwer debuggen lassen.