Avalonia XPF
Eintrag zuletzt aktualisiert am: 19.02.2025
Seit 2023 gibt es neben dem kostenfreien Avalonia auch ein Schwesterprojekt mit Namen Avalonia XPF – in Anlehnung an
Windows Presentation Foundation, wobei das Windows durch ein X für
Cross-Platform ersetzt wird. Avalonia XPF basiert auf Avalonia anstelle von
Milcore, das die Basis für
WPF ist. Avalonia XPF hat den Anspruch, weitestgehend zu
WPF (in der Version, die in
.NET 6.0 enthalten war, welche fast alle Funktionen aus dem klassischen
.NET Framework enthält) zu sein. Es erlaubt damit den Betrieb bestehender
WPF-Anwendungen auch auf macOS und den
Linux-Desktop sowie Embedded
Linux. Windows, macOS und
Linux sind derzeit auch die einzigen Zielplattformen für Avalonia XPF.
Die Werbung von Avalonia UI zu Avalonia XPF sagt: "Take your
WPF apps to macOS and
Linux in minutes, not months". Die Portierung kann im Idealfall tatsächlich mit der Einbindung des privaten NuGet-Feeds
https://xpf-nuget-feed.avaloniaui.net/v3/index.json sowie mit dem Austausch des
SDKs von <Project Sdk="Microsoft.NET.Sdk"> zu <Project Sdk="Xpf.Sdk/1.4.0"> erledigt sein – sofern das Projekt die unter
https://docs.avaloniaui.net/xpf/porting-tips genannten Voraussetzungen erfüllt.
Es gibt aber einige
WPF-Features, die es nicht in Avalonia XPF gibt. Dazu gehören 3D-Unterstützung, Ink Canvas, Window Chromes (vgl.
https://learn.microsoft.com/de-de/dotnet/api/system.windows.shell.windowchrome),
XPS-Dokumente, die
Steuerelemente MediaElement und MediaPlayer, Rechtschreibprüfung, mehrere UI-
Threads sowie Win32-Interoperabilität. Die Integration von
Windows Forms-
Steuerelementen in
WPF-Anwendungen ist aber laut FAQ "teilweise möglich". Ein in
WPF-Fenstern gezeigter
Webbrowser läuft nur unter Windows und macOS, aber nicht unter
Linux, da es dort keinen eingebauten Standardbrowser gibt. Auch den Layouttyp FlowDocument unterstützt Avalonia XPF bisher nicht vollständig, siehe
https://docs.avaloniaui.net/xpf/missing-features.
Avalonia XPF erlaubt auch die Verwendung von einigen Drittanbietersteuerelementbibliotheken: Actipro
WPF Controls, DevExpress
WPF, Infragistics Ultimate UI for
WPF, Syncfusion
WPF Controls und
Telerik UI for
WPF sowie SCiShart. Auch Avalonia-
Steuerelemente kann man in Avalonia XPF verwenden. Erlaubte
Programmiersprachen sind C#,
Visual Basic .NET und F#.
Avalonia XPF muss man pro Anwendung lizensieren. Das kostet im ersten Jahr 19.500 Euro (Business-Lizenz, ohne Embedded
Linux) und 35.000 Euro (Enterprise-Lizenz, mit Embedded
Linux). Ab dem zweiten Jahr kostet die Anwendung dann noch 50% dieses Preises. Mengenrabatte für Unternehmen mit mehreren
WPF-Anwendungen sind laut Herstellerangabe verhandelbar. Kosten pro Entwickler(in) gibt es nicht. Wenn man die Avalonia XPF-Lizenz nicht verlängert, dürfen Entwickler die letzte lizensierte Version weiterhin verwenden. Die Anzahl der Endbenutzer ist nicht limitiert. Der Quellcode von Avalonia XPF ist Closed Source. Support gibt es für den stolzen Preis nur per E-Mail.
Etwas abschreckend bei Avalonia und Avalonia XPF ist, dass die Webseiten des Anbieters an vielen Stellen veraltert ist. Um nur drei Beispiele zu nennen: