Avalonia – новый кросс-платформенный UI фреймворк для .NET
Avalonia – это кросс-платформенный фреймворк для создания графических пользовательских интерфейсов приложений на разных операционных системах, таких, как Windows, Linux, macOS. Его основными ценностями являются гибкость, высокая производительность, открытый исходный код, поддержка MVVM-архитектуры и дружелюбный к разработчикам API.
Многие API Avalonia схожи с API WPF (Windows Presentation Foundation), что делает его крайне привлекательным для разработчиков, работавших ранее с данным фреймворком.
Пример кода, создающего простое окно в Avalonia:
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
public class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
class Program
{
static void Main(string[] args)
{
var app = new Application();
app.Run(new MainWindow());
}
}
В примере используется класс `MainWindow`, который наследуется от `Window`, чтобы создать главное окно приложения. Код разметки XAML для окна определяется в методе `InitializeComponent()`, который загружает одноименный файл XAML через `AvaloniaXamlLoader`. Далее, в методе `Main()` создаётся объект `Application` и запускается с параметром экземпляра `MainWindow`.
Avalonia также поддерживает множество сторонних библиотек и интеграцию с другими фреймворками. Например, с библиотекой `AvaloniaUI.Dock` можно создавать гибкие возможности расположения элементов управления на главном окне, а интеграция с сторонней библиотекой `ReactiveUI` позволяет создавать асинхронные и реактивные приложения в соответствии с принципами программирования Reactive Extensions.