Gabi und Sascha
Kategorien : Alle | Berlin | Bücher | Fotografie | Java | Linkhalde | Weichware | Verfassung
iX, 9/2006 - Webprogrammierung, Seite 142

In der aktuellen iX steht auf Seite 142 ein Artikel zur Webprogrammierung. Darin wird erklärt, wie HTML Tabellen mittels Javascript sortiert werden können. Der Artikel zeigt, dass die Gatekeeper-Funktion des Magazins für professionelle Informationstechnik nicht auf der Höhe der Zeit ist.

Verführerisch

Auf den ersten Blick ist es verführerisch, HTML-Tabellen mittels Javascript zu sortieren. Der Anwender bekommt schnell ein visuelles Feedback. Ein aufwändiger Request-Response-Zyklus zum Server entfällt.

Dies ist der naive Ansatz. Er funktioniert nur, wenn Zahlen sortiert werden. Bei allen weiteren Datenformaten wird der Ansatz einen imensen Entwicklungsaufwand nach sich ziehen.

Komplexer

Sortieren von Zeichenketten ist komplexer, als Zahlen zu sortieren. Es muss die richtige Reihenfolge bei Gross- und Kleinschreibung beachtet werden. In Deutschland kommt erschwerend die Reihenfolge der Umlaute hinzu. Diese Reihenfolge ist unterschiedlich - je nachdem, ob für ein Lexikon oder ein Telefonbuch sortiert werden soll.

Ebenfalls komplex ist die Art und Weise, Datumsangaben zu sortieren. Jeder erfahrene Entwickler weiss, dass Datumsformate verarbeiten kein Spass ist. Solange nur Zahlenwerte im Spiel sind, mag die Lösung des Artikels noch funktionieren - wenn Tage, Monate und Jahre führende Nullen besitzen. Kommen Buchstaben für Monatsangaben ins Spiel, wird es kompliziert.

Ist die Anwendung eventuell noch internationalisiert, wird die Sortieraufgabe noch einmal komplexer.

Lösungen

Eine Lösung besteht darin eine komplette Javascript-Bibliothek zu schreiben, die die beschriebenen Probleme adressiert. Dies alleine ist eine sehr komplexe Aufgabe. Der Leser stelle sich nur einmal vor, wie viele unterschiedliche Datumsformate er kennt. Dies auch noch internationalisiert - viel Spass! Nicht jeder Kunde ist vom ISO 8601 überzeugt. Die Bibliothek muss dann selbstverständlich jedesmal auch noch zum Webbrowser übertragen werden.

Alternativ wird der Webbrowser nicht zum Rich-Client gemacht. Die Fachlogik für das sortieren einer Tabelle bleibt auf dem Server. Bei Standardbibliotheken - zum Beispiel Java - gibt es ausreichende Unterstützung für die adressierten Probleme. Dort liegen die Daten dann auch nicht unbedingt als String vor, sondern in einem effektiv sortierbaren Format.

Fazit

Der Ansatz des Autoren Christian Kirsch ist bestensfalls naiv. Er bewegt sich auf PC-Welt Niveau. In einer Zeitschrift für professionelle Informationstechnik hat er nichts zu suchen. Gerade im Bereich des sortierens sollte auf bestehende, robuste Bibliotheken zurückgegriffen werden. Die im Artikel beschriebene fachliche Logik im Client führt zu schwer wartbaren Systemen. Ich habe gedacht, dass sich das inzwischen herum gesprochen hat.

Das Model-View-Control Pattern für ein schnelles visuelles Feedback über Bord zu werfen ist eine sehr schlechte Idee.