Bestandteile einer WPF-Anwendung
Eine WPF-Anwendung besteht, wie in Abbildung 2.4 visualisiert,
aus einern Satz an Designdateien (XAML), Codedateien (.NET, also
.VB oder .CS), und Konfigurationsdateien (XAML und .NET).
Abbildung 2.4: Die von Expression Blend generierten Dateien eines neuen WPF-Projekts
Die im Ordner Verweise gruppierten Dateien stellen eingebundene
Funktionsbausteine dar. Es handelt sich dabei um
Referenzen auf gekapselte und kompilierte Bausteine, die für
die Ausführung der Anwendung notwendig sind. Der Ordner
Verweise existiert nicht physisch im Dateisystem, er wird nur in
Expression Blend wie ein regulärer Ordner angezeigt.
In der Anwendungskonfigurationsdatei App.xaml können zentral
Bausteine des User Interface abgelegt werden. Zum Beispiel
können Sie in ihr eine Formatvorlage für Textformatierungen
ablegen und diese im User Interface verwenden. Details zum
Ablegen zentraler Werte finden Sie in Kapitel 3 im Abschnitt »Zentralisierung von Eigenschaftswerten in Ressourcen«. In der
Code-Behind-Datei App.xaml.cs können zum Beispiel Funktionen
beim Starten oder Beenden der Anwendung abgelegt
werden.
Die Konfigurationsdatei Assemblylnfo.cs beinhaltet systemgenerierte
Informationen zum Umgang mit dem Projekt, zum
Beispiel wie es »kompiliert« werden soll. • Bei Erstellung eines WPF-Projekts erstellt Expression Blend ein
erstes Fenster in Form der Datei Windowl.xaml und der CodeBehind-
Datei Windowl.xaml.cs. Dieses Fenster wird auch nach
Erzeugung des Projekts automatisch geöffnet.
Kompilierung ist ein
Vorgang, der den Code
einer Anwendung in eine
Form bringt, die schneller
vom Prozessor zur Laufzeit
verarbeitet werden kann.
Wenn Sie in Expression
Blend über IT2J oder den
Menübefehl Projekt/Projekt
testen die Anwendung starten,
kompiliert Expression
Blend vor dem Starten der
Anwendung automatisch im
Hintergrund.
Alle Dateien zusammen nennt man in der Anwendungsentwicklung
ein Projekt. Ein Projekt enthält alle Rohdaten, aus denen vor
Ausführung die richtige Software kompiliert wird.
Ergebnis einer WPF-Anwendung
Das Resultat einer WPF-Anwendung, also das, was mit der Kompilierung
erstellt wird, ist eine einzelne ausführbare Datei mit der
Dateiendung .exe. Diese Datei beinhaltet alle Bestandteile Ihrer
Anwendung und kann auch auf anderen Computern (sofern die
Systemvoraussetzungen erfüllt sind) ausgeführt werden.
Es gibt neben einer regulären Clientinstallation noch eine weitere
Möglichkeit, eine WPF-Anwendung auszuführen. Eine XBAP
(XAML Browser Application) ist eine nahezu vollständige WPFAnwendung,
sie wird allerdings ohne Installation im Browser
ausgeführt. Somit kann zum Beispiel kein Eintrag in das Startmenü
oder Einträge in die Registry zum dauerhaften Ablegen von
Daten vorgenommen werden. Auch kann die XBAP nicht auf das
Dateisystem zugreifen, da sie wie eine Silverlight-Anwendung in
einer isolierten Sandbox ausgeführt wird. Voraussetzung für die
Ausführung einer XBAP im Browser ist Internet Explorer ab Version
6.0 und die Installation von .NET Framework ab Version 3.0
(somit ist eine XBAP nur auf Windows-Rechnern lauffähig).
Da diese Voraussetzungen für einen regulären Einsatz sehr hoch
sind, sollte der Einsatz von XBAP mit großer Vorsicht überdacht
sein. XBAPs können nur mit Visual Studio erstellt werden, eine
Projektvorlage für Expression Blend existiert bislang nicht.
Anwendungen für das Web mit Silverlight
Silverlight-Anwendungen werden direkt im Browser über ein PlugIn
ausgeführt. Die Strategie von Silverlight ist, Clientanwendungen
aufgrund gleicher technologischer Basis ohne immensen Aufwand
auch webfähig zu machen.
Das Plug-In von Silverlight ist eine abgespeckte Variante des WPF
zugrunde liegenden .NET Framework. Mehr zum Vergleich von
WPF und Silverlight finden Sie im Abschnitt »Unterschiede zwischen
WPF und Silverlight« weiter hinten in diesem Kapitel.
Eine Silverlight-Anwendung wird in der Sandbox des Browsers ausgeführt.
Es handelt sich um einen aus Sicherheitsgründen isolierten
Bereich des Betriebssystems. Die Anwendung hat somit keinen Zugriff
auf das Dateisystem. Es können zwar Daten abgelegt werden,
diese landen aber immer im »Isolated Storage« der Sandbox.