© deomis/Shutterstock.com
Modernes WinUI - Teil 4

Cross-Platform-Apps mit der Uno Platform


WinUI 3 ist die native Bibliothek zum Entwickeln von Windows-10-Anwendungen. Das Schreiben von effizientem Code in C# und XAML begeistert viele Entwickler an WinUI 3 und hat sich bereits bei Anwendungen bewährt, die auf der Windows Presentation Foundation (WPF) und der Universal Windows Platform (UWP) erstellt wurden. Doch was macht man, wenn die Anwendung neben Windows auch auf anderen Plattformen laufen soll?

Mit WinUI 3 [1] entkoppelt Microsoft das native UWP UI Framework von Windows 10 und stellt es als NuGet-Paket zur Verfügung. WinUI 3 ist somit das native UI Framework für Anwendungen unter Windows 10. Mit WinUI 3 erstellte Applikationen lassen sich mit C#, XAML und .NET entwickeln, können jedoch nur auf Geräten ausgeführt werden, auf denen Windows 10 installiert ist. Doch was, wenn eine neue Unternehmensanwendung nicht nur auf dem Windows-Desktop, sondern auch auf macOS und im Web, gegebenenfalls zusätzlich als App unter iOS und Android ausführbar sein soll? Ist dann WinUI 3 als Technologie ausgeschlossen? Nein, denn genau hier kommt das Open-Source-Projekt namens Uno Platform [2] ins Spiel.

Die Uno Platform

Die Uno Platform ist ein professionell unterstütztes Open-Source-Projekt, das auf GitHub gehostet wird [3]. Mit Uno lassen sich Anwendungen für Windows, MacOS, iOS, Android und das Web mit einer einzigen, UWP-/WinUI-basierten Codebasis via C# und XAML entwickeln. Das bedeutet unter anderem, dass man sich nicht mehr entscheiden muss, ob man eine Desktop- oder eine Webanwendung baut. Mit Uno wählt man einfach zwischen C# oder XAML und erhält eine Cross-Platform-Anwendung. Um das zu verwirklichen, baut Uno auf WebAssembly und Xamarin auf.

Die Uno-Architektur

Abbildung 1 zeigt die Architektur der Uno Platform. Im oberen Bereich sind von links nach rechts die unterstützten Plattformen Windows, Web, MacOS/iOS und Android aufgelistet. Darunter ist der in C# und XAML erstellte Anwendungscode als Querbalken zu sehen. Da dieser Code auf UWP/WinUI basiert, lässt er sich direkt in eine UWP-, respektive eine WinUI-Anwendung kompilieren, die unter Windows 10 läuft. Für die anderen Plattformen wird die Mono-Laufzeit, eine Variante der .NET-Laufzeitumgebung, verwendet. Im Fall der Webanwendung wird der UI-basierte XAML-Code automatisch in HTML und CSS übersetzt. Uno stellt dabei entsprechende CSS-Klassen zur Verfügung, damit die WinUI-Anwendung auch im Browser gleich aussieht. Der geschriebene und kompilierte C#-Code wird mit Hilfe der WebAssembly-basierten M...

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