c't 20/2024
S. 79
Test & Beratung
htmz

Das Antiframework

Teile einer Website dynamisch nachzuladen, ist schick und praktisch. htmz demonstriert eindrucksvoll, dass man dafür nicht gleich zu dicken Bibliotheken greifen muss.

htmz ist ein – ja was eigentlich? Die Projektwebsite bezeichnet htmz als „Microframework“, allerdings durchaus mit einer gewissen Ironie. Denn zumindest zum Teil ist htmz eine amüsante Kritik an modernen Gepflogenheiten in der Webentwicklung: Oft werden für simpelste Probleme Dutzende Kilobytes an JavaScript-Frameworks nachgeladen und völlig unhinterfragt Abhängigkeiten ohne Ende in Kauf genommen. htmz misst dagegen minifiziert nur 166 Bytes und passt sogar in der ausführlichen Entwicklerversion in zehn Zeilen:

<script>
  function htmz(frame) {
    setTimeout(() =>
      document
        .querySelector(frame.contentWindow.location.hash || null)
        ?.replaceWith(...frame.contentDocument.body.childNodes)
    );
  }
</script>
<iframe hidden name="htmz"  onload="window.htmz(this)"></iframe>

Die Installationsanleitung für dieses Mikroframework: „Kopieren Sie einfach das Snippet in Ihre Seite.“ Aber wer unbedingt npm nutzen will, findet htmz auch auf npmjs.com, inklusive fragwürdiger Abhängigkeiten – hier wird aus Ironie schon Sarkasmus.

Kommentieren