am 6. August 2010
Zuerst möchte ich alle informieren, dass wir jetzt einen neuen RSS-Feed haben und zwar einen, der alle phm|network Beiträge rauslöscht. Das wurde ja gefordert (auch von mir) und tadaaaa einen Tag später gibt es das Feature schon. Wenn das doch immer nur so schnell bei mir gehen würde.
Aber jetzt zum eigentlichen Thema: JavaScript-Komprimierung. Ich hatte vor kurzen, also so vor ca. 3 Jahren, eine Diskussion mit Sebastian aus meinem ehemaligen Team, ob wir JavaScript-Komprimierung bei uns im Intranet einsetzen. Ich war dagegen. Ich finde man sollte so lange wir möglich auf irgendwelche Optimierungsmaßnahmen verzichten, solange sie nicht vonnöten sind. Oder wie heißen die beiden Regeln der Optimierung:
- Don’t do it
- Don’t do it yet (for experts only)
Wir hatten damals ein internes Netz und es war egal, wie groß die JavaScript-Dateien waren. Das Netz war schnell. Ich befürchte, dass die wenigsten von uns Webseiten betreiben, die wirklich unter ihrer Last zusammenbrechen. Nehmen wir aber mal an, wir komprimieren unseren JavaScript-Code … einfach weil wir es können. Ich finde das debuggen wird damit auf einmal so viel schwieriger. OK ich gebe zu, man hat ein Staging-System und auf dem wir alles vorher getestet und wahrscheinlich auch ohne JavaScript-Komprimierung, aber wenn dann doch etwas nicht klappt, dann kann man mit dem Obfuscated Code nicht so viel anfangen.
Ich finde es aber total legitim eine third-party-Komponente. Ich habe zum Beispiel jQuery als solche eingebunden. Ich gehe nämlich von aus, dass es funktioniert und wenn nicht, dann kann ich da eh nichts machen.
Was ich aber eigentlich mit diesem Artikel sagen will. In vielen Fällen komprimiert man das JavaScript nicht weil man es muss, sondern weil es hip ist. Man sollte sich überlegen, ob es vielleicht eine Lösung für ein Problem ist, das man gar hat.
Bei großen Hochtraffic Anwendungen/Seiten kann es natürlich auch mal sein, dass es wirklich nötig ist. Dafür gibt es Tools, die einem bei der Komprimierung helfen. Die will ich euch auch bald vorstellen, da ich hierfür heute lwider keine Zeit mehr habe. Vielleicht will ja auch jemand von euch was schreiben. Wer weiß.