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: