Die UHTML Idee

uHTML

Geschichtliches

Kabalagala, 2006

Während unserer Radreise durch Europa, den Nahen Osten und Afrika mußten wir unsere Webpräsenz unter spartanischen Bedingungen pflegen. Unsere Webpräsenz war nur ein Mittel zum Zweck und wir bemühten uns deren Pflege so zeitsparend wie möglich zu gestalten.

Die meiste Zeit raubte das Nachvollziehen von HTML–Code der mit SSI–artigen Kommentaren verflochten war die zur Laufzeit mit dynamischen Inhalten ersetzt wurden. Wir brauchten dringend eine Alternative die die Lesbarkeit der Seitenquellen erhöhte und damit die Pflege beschleunigte.

Uns fiel auf, daß die Pflege von dynamischen Inhalten oft zu Konflikten zwischen Programmierer und Designer führte. Solche Konflikte sind gut bekannt aus größeren Webdesignteams. Da sowohl der Designer wie auch der Programmierer an derselben Datei arbeiten müssen, sind Konflikte vorprogrammiert. Man sieht manchmal die Folgen solcher Konflikte wenn php– oder asp–Fehlermeldungen auf Webseiten erscheinen. Manchmal verursachte der Designer diese Fehlermeldungen indem er unabsichtlich den Programmcode veränderte.

Die Verwendung von php kam dabei nicht in Frage, da php die Lesbarkeit der Quellen im Vergleich zu SSI eher noch herabsetzte. Wir brauchten die Flexibilität und Stärke von php gekoppelt mit der vertrauten HTML–Syntax. Das Ziel war es dem Designer zu ermöglichen das Aussehen und Inhalt der Seiten zu verändern ohne auf die Hilfe des Programmierers angewiesen zu sein.

Das Vorgehen um Programmcode aus HTML–Quellen auszuschließen war offensichtlich: Die Menge der HTML–Elemente muß um Benutzerdefinierte und Projektbezogene Elemente erweitert werden. Eine solche Strategie würde die dem Designer vertraute HTML–Syntax wahren und die Lesbarkeit der Seitenquellen nicht negativ beeinflussen. Mit dieser Erkenntnis war das Grundkonzept von UHTML geboren.

Ansatz

Der einfachste Idee wäre die Quellen nach Benutzerelementen zu durchsuchen und diese durch entsprechende Inhalte zu ersetzen. Dieser Ansatz würde einen individuellen Scanner für jedes Projekt erfordern. Eine solche Projektgebundene Lösung würde die Wiederverwendbarkeit von Code praktisch ausschließen und bei jeder Wiederaufnahme eines Projektes eine Einarbeitung erfordern. Die simple Idee war damit nicht tragfähig da ohne der Wiederverwendbarkeit von Benutzerelementen und einfacher Wartung UHTML keinen Sinn machen würde.

Diese Überlegungen machen eine Bibliothek, die eine universelle Programmierschnittstelle implementiert, erforderlich. Diese Bibliothek müßte die UHTML–Datei in eine hierarchische Datenstruktur überführen in der jedes UHTML–Element eine Funktion zugeordnet bekommt die für die Umsetzung des Elements in HTML zuständig ist. Ferner müssen die Attribute der Elemente über Attributfunktionen manipulierbar sein.

Diese Überlegungen führten zu der ersten UHTML–Implementierung in perl. Es tellte sich heraus, daß die allererste Version effizient genug war um produktiv eingesetzt zu werden. Die aktuelle Version von UHTML in perl entspricht bis auf wenige Erweiterungen und Optimierungen dieser Ursprungsversion. Sie kann unter Download gefunden werden.

divider

English Version
 

Externe Seiten:

uHTML-Logo 2008 All Rights Reserved Amina Mendez & Roland Okello Valid HTML 4.01 Transitional CSS is valide!