A portable .NET Standard library for reading and writing XAML files across desktop, mobile, and .NET Core platforms.
Portable.Xaml is a .NET Standard library that provides cross-platform XAML reading and writing capabilities for .NET applications. It solves the problem of XAML file processing being limited to specific .NET frameworks by offering a portable implementation that works across desktop, mobile, and .NET Core platforms. The library serves as a modern alternative to System.Xaml with enhanced features and better performance.
.NET developers building applications with XAML-based user interfaces across multiple platforms including desktop, mobile, and web using technologies like WPF, UWP, Xamarin, or Avalonia.
Developers choose Portable.Xaml because it provides a single, consistent XAML processing library that works across all modern .NET platforms with better performance than the built-in System.Xaml. Its support for immutable collections, automatic handling of immutable types, and extensible architecture make it more flexible for modern .NET development patterns.
Portable .NET library for reading/writing xaml files.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports .NET Standard profiles for .NET 4.5+, .NET Core, UWP, and Xamarin, enabling XAML processing across diverse platforms without framework lock-in.
Benchmark data shows faster load and save times compared to System.Xaml, with up to 30% improvement on .NET Core and lower memory allocation.
Automatically handles immutable types via [ConstructorArgumentAttribute] and integrates System.Collections.Immutable, simplifying XAML for contemporary .NET patterns.
Allows easier customization of XamlMember creation using reflection metadata from XamlSchemaContext, offering flexibility for advanced scenarios.
The README explicitly warns that breaking changes may occur and bugs might be present, making it risky for production environments requiring absolute stability.
As a community-driven fork, it lacks the formal support, extensive tooling, and widespread adoption of Microsoft's official XAML libraries.
While aimed at straightforward migration, differences from System.Xaml could necessitate code adjustments for edge cases, such as custom markup extensions or complex XAML structures.