Benutzer:Licht-Ausmach-Män/Entwürfe/WPF

aus Wikipedia, der freien Enzyklopädie

Windows Presentation Foundation (kurz WPF), auch bekannt unter dem Codenamen Avalon, ist ein Grafik-Framework und Teil des .NET Frameworks 3.0 von Microsoft, das mit Windows Vista ausgeliefert wird, sich aber auf Windows XP und Server 2003 nachinstallieren lässt.

WPF stellt ein umfangreiches Modell für den Programmierer bereit. Dabei wird die Präsentation und die Geschäftslogik getrennt, dies wird vorallem durch die Auszeichnungssprache XAML (basierend auf XML) unterstützt. XAML beschreibt Oberflächen-Hierarchien deklarativ als XML-Code. WPF-Anwendungen können sowohl Desktop- als auch Web-Anwendungen sein und benutzen wenn möglich auch Hardwarebeschleunigung. Das Framework versucht die verschiedenen Bereiche, die für die Präsentation wichtig sind (Benutzerschnittstelle, Zeichnen und Grafiken, Audio und Video, Dokumente, Typographie), zu vereinen.

Zudem gibt es mit Microsoft Silverlight (ehemals WPF/E) eine Plattform, die explizit für das Web entwickelt wurde. Silverlight setzt dabei nicht auf das .NET Framework auf, sondern benutzt eine reduzierte Version dessen. Silverlight kann auch mit XAML entwickelt werden.

Aufbau

WPF ist Teil des .NET Frameworks 3.0 und höher. Es ist eigentlich ein Technologie aufbauend auf dem Framework 2.0.

Durch das .NET Framework als Basis ergeben sich viele Vorteile: So ist eine große objektorientierte [[Klassenbibliothek}} verfügbar. Es können verschiedenste Programmiersprachen verwendet werden, um CIL-Zwischencode zu erzeugen, z. B. C# oder VB.NET.

Features

WPF stellt darauf aufbauenden Anwendungen eine Reihe von Features zur Verfügung.

Grafik

Alle Grafikelemente (auch Fenster, etc.) werden via Direct3D gerendert. Dies hat zur Folge, dass einige Aufgaben hardwarebeschleunigt von der GPU der Grafikkarte übernommen werden anstatt von der CPU. Zudem können 3D-Grafiken in 2D-Anwendungen angezeigt werden. Auch Vektorgrafiken werden unterstützt. Auch Bitmap-Effekte werden angeboten, diese werden allerdings noch via Software berechnet. Einfache Effekte (Schatten, etc.) sind schon vordefiniert.

Interoperabilität

Windows-Forms-Steuerelemente können in WPF-Anwendungen benutzt werden; umgekehrt können auch WPF-Elemente in Windows Forms gehostet werden.

Zudem unterstützt WPF Win32: WPF ist mittels Hosting auch in Win32-Code benutzbar und Win32-Code kann auch in WPF-Anwendungen weiterbenutzt werden.

Medien und Dokumente

WPF stellt 2D-Primitive mit vordefinierten Transformationen, Texturen, etc. bereit. Die 3D-Funktionalitäten sind ein Unterteil von Direct3D. Diese Funktionalitäten sind allerdings auch für Dokumente und Benutzerschnittstelle verfügbar.

Die meisten Grafikformate und Videos im WMV oder MPEG-Format werden unterstützt.

Animationen sind nun zeigesteuert möglich.

Auch Dokumente, insbesondere XPS-Dokumente werden mit vordefinierte Steuerelementen unterstützt.

Text und Typographie

WPF unterstützt viele Features von Open Type, z. B. Ligaturen, Kapitälchen und Ruby. Es werden Open-Type- und TrueType-Schriftarten unterstützt. WPF behandelt Text, da es auf .NET aufsetzt, immer als Unicode unabhänging von der Zeichenkodierung.

Benutzerschnittstelle

WPF enthält schon einige vordefinierte Steuerelemente, wie Menüs, Listen, etc.

Zudem wird das Aussehen von der Steuerelementlogik getrennt. Das Aussehen eines Steuerelements kann unabhängig davon geändert werden.

Steuerelemente können beliebige andere Steuerelemente oder Inhalte (z. B. Bilder) enthalten.

Browseranwendungen

WPF-Anwendungen können auch in einem Webbrowser laufen. Diese XAML Browser Applications (XBAP) laufen zum Schutze vor bösartigen Anwendungen in einer eingeschränkten Sandbox-Umgebung und können daher nicht alle WPF-Funktionalitäten benutzen.

Seit dem Release des .NET Frameworks 3.5 laufen XBAPs mit einem Plugin auch in Mozilla Firefox.

XAML

Hauptartikel: XAML

Die Extensible Application Markup Language (XAML), die auf XML basiert, beschreibt Anwendungsoberflächen für WPF deklarativ. Dadurch wird versucht das Aussehen von der Logik zu trennen.

Silverlight

Hauptartikel: Microsoft Silverlight

Silverlight ist eine plattformunabhängige Erweiterung für Browser, die ein WPF-ähnliches Framework für das Web zur Verfügung stellt. Dazu gehören Video, Vektorgrafik, Animationen. Die einzige technische Gemeinsamkeit zwischen WPF und Silverlight ist XAML.

Zur Zeit ist Silverlight verfügbar für Mozilla Firefox, Internet Explorer und Safari. Das Mono-Projekt arbeitet an einer Implementation für GNU/Linux namens Moonlight.

Entwurfsanwendungen

Zum Entwerfen von Anwendungen kann Microsoft Visual Studio 2008 (bzw. 2005 mit Plugin) verwendet werden. WPF wird dort durch einen WYSIWYG-Designer und einen geeigneten XAML-Editor unterstützt.

Zudem gibt es eine neue Serie von gestalterischen Entwicklerwerkzeugen namens Microsoft Expression. Expression Blend beschäftigt sich mit Benutzeroberflächen (auch für Silverlight) und ist fähig zur Kooperation mit Visual Studio.

Weblinks