WPF против Avalonia в 2026 году — Какой следует использовать?

00:02 Введение • Сравнение WPF и Avalonia UI на примере дашборда для инвентаризации. • Цель видео: определить, какой фреймворк лучше использовать в следующем проекте. • Обзор философии, настройки проекта, различий в C# и синтаксисе ZML. 01:02 История и особенности • WPF выпущен в 2006 году, поддерживает ускорение рендеринга на GPU и ZML. • Avalonia началась в 2013 году как проект сообщества, стремится к кроссплатформенности. • Версия 11 Avalonia достигла стабильности, используется в корпоративных приложениях. 02:00 Сравнение экосистем • WPF предназначен только для Windows, имеет развитую экосистему. • Avalonia кроссплатформенная, использует современные реактивные шаблоны. • Доменная логика не меняется в зависимости от фреймворка. 02:51 Настройка проектов • Проект WPF ориентирован на .NET 8 с суффиксом Windows, не собирается на Linux. • Проект Avalonia ориентирован на .NET 8 без суффикса платформы, требует дополнительных пакетов для сборки на Windows. • Avalonia поставляется с Android Note. 03:44 Запуск приложений • В WPF используется файл app.xaml с URI запуска. • В Avalonia применяется шаблон проектирования Builder с более явным контролем запуска. • Avalonia выбирает правильный бэкенд рендеринга во время выполнения: Direct2D для Windows, X11 или VN для Linux, Metal для macOS. 04:53 Различия в ZML • В WPF используется XAML, в Avalonia — AXML. • Пространство имён: WPF — Presentation, Avalonia — GitHub. • Avalonia поддерживает привязку во время компиляции через тип данных X, WPF использует рефлексию во время выполнения. 06:32 Синтаксис разметки • Сетки, панели StackPanel и DockPanel работают одинаково в обоих фреймворках. • Avalonia добавляет сокращение для определения столбцов в виде встроенных атрибутов. 06:56 Стилизация • В WPF стили применяются через статические ресурсы. • В Avalonia стили добавляются через классы, похожие на CSS. • Пример использования классов: Accent и Ghost для кнопок. 07:52 Стилизация в WPF и Avalonia • В WPF стилизация осуществляется через словари ресурсов, что требует создания шаблонов элементов управления. • В Avalonia стилизация использует CSS-селекторы, что делает процесс проще и эффективнее. • Селекторы в Avalonia работают аналогично псевдоклассам в CSS, обеспечивая идентичный функциональный результат. 09:47 Модели представления • Модели представления в WPF реализуют интерфейс PropertyChanged и содержат обработчики событий. • В Avalonia с Reactive UI изменения отображаются мгновенно благодаря наследованию от Reactive Object. • Бизнес-логика моделей представления в обоих фреймворках идентична. 10:33 Команды • В WPF используются команды Relay, в Avalonia — реактивные команды. • Реактивные команды в Avalonia могут выполнять наблюдаемые потоки, что упрощает работу с данными. • Методы загрузки данных, применения фильтров и удаления продуктов в обоих проектах практически идентичны. 12:15 Кроссплатформенность • Avalonia поддерживает Windows, macOS, Linux, iOS, Android и WebAssembly. • WPF компилируется только для Windows. • Поддержка мобильных устройств в Avalonia находится на стадии разработки, но поддержка настольных приложений надёжна. 13:11 Рекомендации по выбору фреймворка • Используйте WPF, если приложение предназначено только для Windows или нужно поддерживать существующую кодовую базу. • Выбирайте Avalonia, если требуется кроссплатформенное приложение, современные инструменты или поддержка macOS или Linux. • Исходный код обоих проектов доступен по ссылке в описании. 14:10 Заключение • Автор предлагает зрителям выбрать между WPF и Avalonia и поделиться своим решением в комментариях. • Рекомендует посмотреть видеоурок по сравнению WPF и Avalonia.

Иконка канала Ленинский Букварь
246 подписчиков
12+
3 просмотра
2 дня назад
12+
3 просмотра
2 дня назад

00:02 Введение • Сравнение WPF и Avalonia UI на примере дашборда для инвентаризации. • Цель видео: определить, какой фреймворк лучше использовать в следующем проекте. • Обзор философии, настройки проекта, различий в C# и синтаксисе ZML. 01:02 История и особенности • WPF выпущен в 2006 году, поддерживает ускорение рендеринга на GPU и ZML. • Avalonia началась в 2013 году как проект сообщества, стремится к кроссплатформенности. • Версия 11 Avalonia достигла стабильности, используется в корпоративных приложениях. 02:00 Сравнение экосистем • WPF предназначен только для Windows, имеет развитую экосистему. • Avalonia кроссплатформенная, использует современные реактивные шаблоны. • Доменная логика не меняется в зависимости от фреймворка. 02:51 Настройка проектов • Проект WPF ориентирован на .NET 8 с суффиксом Windows, не собирается на Linux. • Проект Avalonia ориентирован на .NET 8 без суффикса платформы, требует дополнительных пакетов для сборки на Windows. • Avalonia поставляется с Android Note. 03:44 Запуск приложений • В WPF используется файл app.xaml с URI запуска. • В Avalonia применяется шаблон проектирования Builder с более явным контролем запуска. • Avalonia выбирает правильный бэкенд рендеринга во время выполнения: Direct2D для Windows, X11 или VN для Linux, Metal для macOS. 04:53 Различия в ZML • В WPF используется XAML, в Avalonia — AXML. • Пространство имён: WPF — Presentation, Avalonia — GitHub. • Avalonia поддерживает привязку во время компиляции через тип данных X, WPF использует рефлексию во время выполнения. 06:32 Синтаксис разметки • Сетки, панели StackPanel и DockPanel работают одинаково в обоих фреймворках. • Avalonia добавляет сокращение для определения столбцов в виде встроенных атрибутов. 06:56 Стилизация • В WPF стили применяются через статические ресурсы. • В Avalonia стили добавляются через классы, похожие на CSS. • Пример использования классов: Accent и Ghost для кнопок. 07:52 Стилизация в WPF и Avalonia • В WPF стилизация осуществляется через словари ресурсов, что требует создания шаблонов элементов управления. • В Avalonia стилизация использует CSS-селекторы, что делает процесс проще и эффективнее. • Селекторы в Avalonia работают аналогично псевдоклассам в CSS, обеспечивая идентичный функциональный результат. 09:47 Модели представления • Модели представления в WPF реализуют интерфейс PropertyChanged и содержат обработчики событий. • В Avalonia с Reactive UI изменения отображаются мгновенно благодаря наследованию от Reactive Object. • Бизнес-логика моделей представления в обоих фреймворках идентична. 10:33 Команды • В WPF используются команды Relay, в Avalonia — реактивные команды. • Реактивные команды в Avalonia могут выполнять наблюдаемые потоки, что упрощает работу с данными. • Методы загрузки данных, применения фильтров и удаления продуктов в обоих проектах практически идентичны. 12:15 Кроссплатформенность • Avalonia поддерживает Windows, macOS, Linux, iOS, Android и WebAssembly. • WPF компилируется только для Windows. • Поддержка мобильных устройств в Avalonia находится на стадии разработки, но поддержка настольных приложений надёжна. 13:11 Рекомендации по выбору фреймворка • Используйте WPF, если приложение предназначено только для Windows или нужно поддерживать существующую кодовую базу. • Выбирайте Avalonia, если требуется кроссплатформенное приложение, современные инструменты или поддержка macOS или Linux. • Исходный код обоих проектов доступен по ссылке в описании. 14:10 Заключение • Автор предлагает зрителям выбрать между WPF и Avalonia и поделиться своим решением в комментариях. • Рекомендует посмотреть видеоурок по сравнению WPF и Avalonia.

, чтобы оставлять комментарии