© best_vector/Shutterstock.com
Kolumne: XAML Expertise

WPF und Universal-Windows-Apps


In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertisen: „XAML: Avalonia – eine Cross-Plattform-Lösung für XAML“, „WPF: Mehr Performance zur Laufzeit mit dem WPF ResMerger“ und „XAML: Variablen für Styles“. Viel Spaß mit XAML Expertise.

XAML: Avalonia – eine Cross-Plattform-Lösung für XAML

Die Beliebtheit von HTML5 ist in den letzten fünf Jahren stark gestiegen. Viele Softwareunternehmen, die sich auf Microsoft-Technologien spezialisiert haben, schwenken komplett auf den HTML5-Stack um. Kein Wunder, denn die Anforderungen der Kunden ändern sich mit der Zeit, und diese möchten gerne Desktopsoftware für Windows, Mac und Linux. HTML5 bringt Features mit sich, die genau für die Desktopentwicklung relevant sind: Offlinesupport, Multi-Threading, WebSock­et (TCP via Webports), Hardwarezugriff, lokale Datenbanken und vieles mehr – und das dann auch noch plattformübergreifend für alle gängigen Betriebssysteme.

WPF hingegen macht seinem Namen alle Ehre, denn die „Windows“ Presentation Foundation ist eben hauptsächlich nur für Windows konzeptioniert worden und somit nicht Cross-Plattform-fähig. Der Vorgänger WinForms trägt zwar auch stolz den Namen „Windows“ Forms, lässt sich allerdings über das Mono-Framework auch auf Linux und Mac ausführen.

Für wahre XAML-Fans gibt es dennoch gute Nachrichten. Das Open-Source-UI-Framework Avalonia [1] bietet die Möglichkeit, XAML plattformübergreifend ausführen zu können. Technisch handelt es sich hierbei um eine eigene Anwendungsarchitektur, die von WPF losgelöst ist. Für die Entwicklung wird dazu eine Avalonia Extension für Visual Studio 2017 benötigt [2]. Diese erweitert Visual Studio um neue Projektvorlagen. In Abbildung 1 wird gezeigt, wie ein neues Avalonia-Projekt mit der neuen Projektvorlage angelegt wird.

Das neue Projekt lehnt sich an die bereits bekannte WPF-Architektur an und hat daher die gleiche Projektstruktur. Die Avalonia-Erweiterung für Visual Studio bietet sogar einen XAML-Designer-Support. Wurde das Projekt zum ersten Mal erzeugt, muss der Build nur noch gestartet werden und der XAML-Designer zeigt das erste „Hello-World“-Beispiel. In Abbildung 2 sind der XAML-Designer und die Projektstruktur zu sehen. Wird die Anwendung mit F5 gestartet, öffnet sich ebenfalls wie gewohnt die Desktopanwendung. Ein Blick in die Code-Behind-Datei MainPage.xaml.cs ze...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang