Meine letzten Projekte waren alles Windows Forms Projekte. Eines dieser Projekte hat sogar noch einen kurzen Ausflug Richtung WPF erlebt. Also durfte ich kurz in die Zukunft der Desktop Applikationen hineinschnuppern. Ein sehr geniales, zukunftsweisendes Konzept. Mit vielen Ideen, die ihre Wurzeln auch bei ASP.NET haben. Alles ist noch sehr frisch und spannend. Dafür liefert Google nur sehr zögerlich Antworten, selbst für triviale Probleme.
Jetzt bin ich nach langer Zeit mal wieder bei ASP.NET gelandet. Eine im Vergleich zu WPF etablierte Technologie. Weniger coole neue Konzepte, dafür erprobt und gut dokumentiert. Insbesondere die erweiterbare Architektur, wie zum Beispiel das Provider Model, wird gelobt.
Ein weitere gute Architektur sind die Control Adapter. Für jedes eingebaute ASP.NET Control lässt sich über einen Control Adapter die HTML Ausgabe komplett neu programmieren, ohne dass sich die Verwendung und Programmierung des Controls selbst ändert. Leider haben die eingebauten ASP.NET Controls das Problem, recht unsauberen HTML Code zu erzeugen: Viele Inline Styles, Tabellenkonstrukte und das Ganze ist nicht W3C konform.
Mit Schmunzeln denke ich an eine ältere DotNetRocks Show zurück. Carl Franklin, der Host, wurde von seinem Gast gefragt:
Wozu verwendet man bei HTML eigentlich Tabellen? Um Elemente auf der Webseite zu arrangieren. Nein, für Tabellen!
Wozu verwendet man bei HTML eigentlich Tabellen?
Um Elemente auf der Webseite zu arrangieren.
Nein, für Tabellen!
Heute sollten man Webseiten mit XHTML und CSS entwickeln. Tabellen sollten man sich für tabellarische Daten aufsparen. Um da auch mit ASP.NET mitspielen zu können hat Microsoft vor kurzem die ASP.NET 2.0 CSS Friendly Control Adapters 1.0 veröffentlicht. Mit relativ wenig Aufwand kann man damit seine bestehende Applikation aufrüsten:
Auch mit diesen Controls sind die ausgegeben Seiten noch nicht komplett W3C konform. Die Validierung bemängelt noch ein paar Kleinigkeiten. Dafür gäbe es zwar auch Lösungen. Die sind aber eher "Hacks", die ich nicht implementieren werde.
© Copyright 2012, Christian Deger
E-mail