Vista: Weniger .NET als erwartet

18.10.2006
Von Dr. Holger Schwichtenberg
Das neue Betriebssystem "Windows Vista" enthält zahlreiche neue Programmierschnittstellen. Entgegen früherer Ankündigungen setzt Microsoft selbst nicht komplett auf das .NET Framework, sondern verwendet ältere Technologien wie Win32 und COM.

Die große Entwicklerkonferenz Professional Developer Conference (PDC) im Jahr 2003 hatte Microsoft dazu genutzt, die neuen auf .NET beruhenden Programmierschnittstellen von Windows Vista vorzustellen. Eine Bibliothek mit Namen "Windows Framework" (WinFX) sollte das veraltete Windows 32-API und das Sammelsurium von Softwarekomponenten ablösen, die nach dem Component Object Model (COM) entwickelt wurden.

Kurz vor dem Erscheinen des neuen Betriebssystems zeigt sich aber, dass Windows Vista aber weit weniger .NET enthält als damals angekündigt. In den letzten drei Jahren ist Microsoft schrittweise von der ursprünglichen Strategie abgerückt. Die WinFX-Bibliothek ist im .NET-Framework 3.0 aufgegangen und auch für Windows XP und Windows Server 2003 verfügbar. Entscheidenden Einfluss darauf hatte die Windows-Entwicklergemeinde, die drohte, eine Bibliothek zu ignorieren, die auf älteren Betriebssystemen nicht vorhanden sein würde. Windows Vista selbst wurde von Microsoft weitestgehend mit klassischen Programmiertechniken entwickelt und viele neue Funktionen stehen für Entwickler auch auf herkömmlichen Wegen zur Verfügung.

Hier lesen Sie ...

  • Welche neuen Bibliotheken .NET 3.0 enthält, das Microsoft als bevorzugtes Programmiermodell von Vista propagiert;

  • wie die vier neuen Bausteine das Leben von Entwicklern vereinfachen;

  • welche Kompatibilitätsprobleme das neue Programmiermodell verursacht;

  • wo Microsoft in Vista lieber auf alte Technik gesetzt hat.

.NET 3.0 mit vier neuen Bibliotheken

Windows Vista ist das erste Betriebssystem, zu dessen Standardinstallationsumfang das .NET-Framework 3.0 gehört. Eine kostenfreie aktualisierte Ausführung für Windows XP und Windows Server 2003 soll parallel mit dem Erscheinen von Vista verfügbar sein. Sowohl die Laufzeitumgebung als auch die Syntax der Programmiersprachen in .NET 3.0 entspricht der Vorgängerversion 2.0, sodass .NET 2.0-Anwendungen ohne jegliche Änderung auch auf .NET 3.0 laufen. Neu in .NET 3.0 sind vier Bibliotheken: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) und Cardspace.

.NET 3.0 beruht auf den gleichen Fundamenten wie die Vorgängerversion. Neu sind die Bibliotheken WPF, WCF und WF sowie die .NET-basierte "Power Shell".
.NET 3.0 beruht auf den gleichen Fundamenten wie die Vorgängerversion. Neu sind die Bibliotheken WPF, WCF und WF sowie die .NET-basierte "Power Shell".

Die WPF ist eine Bibliothek zur Erstellung grafischer Benutzerschnittstellen und gilt als Nachfolger der wenig geliebten "Windows Forms". WPF stellt eine gemeinsame Basis für die Ausgabe von klassischen Desktop-Fenstern, Multimedia-Daten und Dokumenten dar. Intern setzt WPF direkt auf DirectX auf und bietet daher zahlreiche neue grafische Effekte. Anders als zunächst angekündigt basiert die neue Vista-Benutzeroberfläche Aero aber nicht auf WPF, sondern auf C++-Code.

Softwareentwickler können zur Erstellung einer WPF-Anwendung neben dem klassischen Code-basierten Ansatz auch eine neue XML-basierte Sprache mit Namen Extensible Application Markup Language (XAML) einsetzen, um sowohl das Layout als auch Animationen zu definieren. XAML ähnelt zum Teil dem Standard Scalable Vector Graphics (SVG), definiert aber die typischen Elemente einer grafischen Benutzeroberfläche. Zielsetzung des XML-Einsatzes ist, die optische Gestaltung der Desktop-Anwendungen von der Programmierung zu entkoppeln.

WPF umfasst auch das neue Dokumentenformat "XML Paper Specification" (XPS), das Microsoft als Konkurrenz zu PDF positioniert. WPF-Anwendungen können auch im Internet Explorer ablaufen, sofern das .NET Framework auf dem lokalen System vorhanden ist. Unter dem Namen Windows Presentation Foundation Everywhere (WPF/E) plant Microsoft für die Zukunft eine plattformunabhängige Variante von WPF.