AvaloniaUI — первый кроссплатформенный XAML UI-фреймворк с поддержкой .NET Core

Зал 3 | День 2 | 13:30 | RU | Введение в технологию

Мы живём во время, когда стала актуальной поддержка целого зоопарка платформ и устройств, а .NET Core и .NET Standard существенно упрощают переносимость C#-кода между ними. Однако каждая из платформ предлагает какие-то собственные средства для разработки, причём большая часть из них мысленно застряла где-то во временах MFC и Windows Forms, и не имеет нормальной интеграции с C#. Есть ряд решений, пытающихся привести эти платформы к общему знаменателю и хоть как-то добавить адекватную поддержку MVVM и XAML-вёрстки, но всё это как-то... не то.

.NET-разработчики привыкли к возможности стилизовать контролы где угодно и как угодно, к нормальным привязкам списков к коллекциям, богатой системе биндингов. Именно этого и пытается достичь проект AvaloniaUI, продолжающий идеи WPF в open source. Путь проекта нелёгок и тернист — помимо системы для работы привязок, необходимо самостоятельно обрабатывать весь пользовательский ввод, думать о том, как эффективно отрисовать интерфейс, бороться с разного рода несуразностями со стороны целевых платформ, разбираться с отличиями систем отрисовки (так, из-за неадекватной поддержки ArcTo пришлось адаптировать код, изначально предназначенный для правильной отрисовки орбит комет).

О том, чего уже удалось достичь, что из этого вы уже сейчас можете использовать, а также о трудностях и интересностях при разработке такого проекта — доклад от одного из его участников.


Никита Цуканов
Никита Цуканов kekekeks

Promarket

Начинал в Навителе с разработки под WinCE/Mobile на C/C++. В дальнейшем занимался разработкой VPN-сервиса с кроссплатформенным клиентом на Gtk#, торговой площадки Promarket, мейнтейнил Mono для Nokia N900, делал инструментарий для чиптюнинга автомобилей, мобильный мессенджер с End2End шифрованием, платёжную систему и ещё кучу всякого по мелочи. Имеет обширный опыт разработки подо всё подряд на зоопарке технологий, которым рад поделиться.


Все доклады