Minifier

Was ist ein Minifier, wo liegen Vorteile und Nachteile und welche Tools gibt es?

Die Beseitigung unnötiger Zeichen im Quellcode

Ein Minifier ist ein Programm, mit dem unnötige Zeichen aus dem Quellcode interpretierter Programmier- oder Ausführungssprachen entfernt werden, ohne die Funktionalität des Quellcodes zu verändern. Der Prozess wird Minifikation – oder im Englischen Minification oder Minimisation oder Uglifying – genannt. Mit einem Minifier wird das Ziel verfolgt, den Umfang und damit die Größe des Quellcodes zu reduzieren, so dass die Übertragung von Daten über ein Netzwerk / das Internet schneller und effizienter wird.

Als unnötige Zeichen werden

  • Leerzeichen,
  • Zeilenvorschubzeichen,
  • Blockbegrenzer,
  • Kommentare und
  • lange Variablennamen

erachtet, die zwar der Lesbarkeit des Codes für Entwickler dienen, aber für die Ausführung des Codes nicht erforderlich sind.

Vorteile und Nachteile der Minifikation

Welche Vorteile bzw. Nachteile entstehen bei der Nutzung eines Minifiers? Am Beispiel von Kommentaren lässt sich dies leicht nachvollziehen: Kommentare helfen, Code besser zu verstehen – für den Entwickler selbst und auch für andere Entwickler, die zu einem späteren Zeitpunkt bspw. ein Code Review durchführen. Für Entwickler sind Kommentare somit ein Vorteil, doch bei der Bereitstellung bspw. von Webseiten wird dies zu einem Nachteil. Browser können Dateiinhalte auch ohne Kommentare und gut strukturierten Code parsen. So entsteht zusätzlicher Netzwerkverkehr ohne zusätzlichen funktionalen Nutzen.

Bei der Minifier-Nutzung entstehen somit folgende Vorteile bzw. Nachteile:

  • Die Reduzierung des Quellcodes ist ein Vorteil bei der Datenübertragung. Durch die Minifikation werden weniger Daten übertragen, die verfügbare Bandbreite wird weniger beansprucht und die Ladezeiten werden verbessert.
  • Die Verringerung der Lesbarkeit ist ein Nachteil für Entwickler. Ihnen fehlt es schwerer zu erkennen, was der Quellcode tun soll.

Ein Beispiel:

Und gekürzt:

Beide Code-Snippets machen dasselbe, allerdings ist die erste Variante „umfangreicher“ und kann minimiert werden. In der zweiten Variante fehlen aber die „optische“ Struktur und der Kommentar, so dass es schwieriger wird, den Code nachzuvollziehen.

Minifier-Tools

Es gibt eine ganze Reihe von Minifier-Tools, u. a. bietet Minify Code sowohl für JavaScript, CSS und HTML Minifier (und auch Beautifier) an. In Entwicklungsumgebungen wie Eclipse und Visual Studio und auch in Content Management Systemen wie TYPO3 oder WordPress gibt es entsprechende Optionen bzw. Plugins. Es gibt Minifier für XML, JSON und Ajax etc. Minifikation ist weit verbreitet und viele Organisationen integrieren sie sogar direkt im Build-Prozess.

Es gibt auch Möglichkeiten, Code zu minimieren, die über die genannten Reduzierungen von Leerzeichen, Kommentaren, etc. per Minifier hinausgehen. Die sogenannte Dead Code Elimination optimiert Quellcode, in dem nicht benötigte oder nicht ausgeführte Codebestandteile entfernt werden. Für JavaScript ist das Tree Shaking ein bekannte Vorgehensweise.

 

Hinweise:

Durch den Prozess der Minifikation wird die Lesbarkeit des Codes verringert. Das ist aber eher Folge als Ziel und somit nicht identisch mit dem Prozess der Verschleierung, der eine unautorisierte Wiederverwendung von Code verhindern soll.

Hier finden Sie weitere Informationen zu Minify Code.

Dienstleister gesucht?

Softwareentwicklung aus Berlin

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Was ist ein Beautifier?

Was ist ein Beautifier?

Wissen kompakt: Welche Gründe gibt es für Dead Code?

Welche Gründe gibt es für Dead Code?