.NET-Oberflächen mit Windows Forms oder WPF?

Seite 3: Vor- und Nachteile

Inhaltsverzeichnis

Bei so viel Licht ist auch ein großer Schatten nicht weit. Das erste K.O.-Kriterium ist für viele Softwareentwickler die Betriebssystemanforderung, da WPF nur ab Windows XP läuft. Wer noch Windows 2000 oder gar Windows 98/ME unterstützen muss, kann sofort aufhören, sich mit WPF zu beschäftigen. Das Framework braucht bei Hardware unbedingt eine moderne Grafikkarte mit Unterstützung ab Direct3D 9. Außerdem sollte man deutlich mehr RAM haben als Microsoft in den Mindestanforderungen des jeweiligen Betriebssystems angibt. WPF läuft auf jeden Fall in Leistungsprobleme, wenn man viele Elemente in einer Oberfläche verwendet, selbst wenn diese gerade gar nicht sichtbar sind. Während in Windows Forms die Anzeige von ein paar Hunderttausend Datensätzen in einer Tabelle mit jeweils nur 20 sichtbaren Zeilen kein Problem ist, macht WPF dabei schnell schlapp.

Der RAM-Hunger verursacht gerade beim Einsatz in Terminal Services Probleme. Auch belasten die grafischen Effekte von WPF das Netz deutlich mehr, was sich an einem Beispiel verdeutlichen lässt: Ein Farbverlauf lässt sich bei der Übertragung so optimieren wie eine einfarbige Fläche. Erst in Windows 7 in Verbindung mit einem Terminal Server auf Basis von Windows Server 2008 Release 2 gibt es eine Optimierung für die Übertragung der WPF-Effekte, bei der die Grafikkarte des Clients stärker zur Mithilfe herangezogen wird.

Kritik fordert WPF auch hinsichtlich der verfügbaren Steuerelemente heraus. Es besitzt weder in .NET 3.0 noch in .NET 3.5 Steuerelemente zur Darstellung von Daten in Tabellen (Datagrid) oder ein Auswahlfeld für Datum/Uhrzeit (Date-Time-Picker). Sie musste man entweder selbst entwickeln oder von Drittanbietern hinzukaufen. Erst seit Oktober 2008 bietet Microsoft auf seinem Quellcodeportal Codeplex solche Steuerelemente als Zusatz an (WPF Toolkit). Dass es dazu in den ersten zwei Jahren nach dem Erscheinen von WPF überhaupt keine Lösung von Microsoft gab, zeigt deutlich, dass der Hersteller bei der Entwicklung von WPF die typischen Geschäftsanwendungen völlig vernachlässigt hat.