avalonia-zafiro-development
Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit.
Author
Category
Development ToolsInstall
Hot:7
Download and extract to your skills directory
Copy command and send to OpenClaw for auto-install:
Download and install this skill https://openskills.cc/api/download?slug=sickn33-skills-avalonia-zafiro-development&locale=en&source=copy
Avalonia Zafiro Development Guide
Overview
Avalonia Zafiro Development is a set of mandatory conventions and behavioral guidelines for developing Avalonia UI cross-platform applications using the Zafiro toolkit, implementing maintainable, secure, and predictable applications through a functional reactive MVVM architecture.
Applicable Scenarios
Core Features
Frequently Asked Questions
What is the Zafiro toolkit? How is it used for Avalonia development?
Zafiro is a development toolkit specifically designed for Avalonia UI, providing a complete set of abstraction layers, helper functions, and best-practice guidelines. It helps developers quickly build cross-platform applications that conform to a functional reactive MVVM architecture, with built-in core features like DynamicData pipeline operations, ReactiveUI integration, and Result-type error handling.
Why use functional reactive MVVM in Avalonia development?
Functional reactive MVVM combines the separation of concerns of the MVVM pattern with the predictability advantages of functional programming. DynamicData provides powerful collection manipulation capabilities, while ReactiveUI brings a declarative reactive programming experience. This architecture allows ViewModels to be completely independent from the Avalonia UI, facilitating unit testing and cross-platform reuse, while reducing common bugs in state management.
How to integrate Zafiro into an Avalonia project?
First, install the relevant Zafiro packages (Zafiro.Core, Zafiro.Avalonia, etc.) via NuGet, then follow Zafiro's three-layer architecture in your project: core business logic (Avalonia-independent), view model layer (using ReactiveUI), and view layer (Avalonia XAML). When writing code according to the guidelines, prioritize using the extension methods and convenience operations provided by Zafiro, and ensure dynamic data is manipulated using DynamicData operators rather than plain Rx.