Осенью 2025 года заканчивается официальная поддержка Windows 10. Для миллионов пользователей и компаний окончание поддержки ставит вопрос о выборе дальнейшей стратегии. Наиболее очевидный путь — переход на Windows 11, однако его могут ограничивать более строгие аппаратные требования. Конечно, найдутся пользователи и организации, которые предпочтут продолжить эксплуатацию Windows 10 и после окончания официальной поддержки. У такого подхода есть свои плюсы, в первую очередь — отсутствие немедленных затрат на обновление железа или переобучение персонала. Однако минусы этого решения крайне серьезны: растущие уязвимости из-за отсутствия обновлений безопасности, потенциальная несовместимость с новым программным обеспечением и риски несоблюдения требований регуляторов, особенно для бизнеса. Таким образом, каждая стратегия требует тщательной оценки рисков и затрат.
На мой взгляд, стратегически верным шагом в данной ситуации является миграция на Linux. Но что делать армии программистов, годами создававших приложения под экосистему Microsoft? Приложения на .NET Framework, WPF и WinForms — это кровь тысяч корпоративных и бизнес-систем. Полное переписывание их на другие технологии — это колоссальные затраты времени и денег. Однако существует элегантный и экономически выгодный путь, который не только решает проблему совместимости с Linux, но и открывает новые горизонты для разработки. Этот путь — кроссплатформенный фреймворк Avalonia UI и современная платформа .NET.
Плавный переход вместо болезненного переучивания
Главное преимущество для разработчиков, знакомых с WPF и WinForms, — это концептуальное сходство Avalonia UI с этими технологиями. Avalonia сознательно наследует принципы XAML-разметки, модель привязки данных (Data Binding) и многие архитектурные паттерны.
Знакомый синтаксис: Если вы писали на WPF, то разберетесь в разметке Avalonia XAML очень быстро. Отличия есть, но они минимальны и интуитивно понятны.
MVVM-паттерн: Полная поддержка паттерна Model-View-ViewModel, который является стандартом де-факто в мире .NET-разработки настольных приложений.
.NET 6/8 и .NET Core: Современные версии .NET являются кроссплатформенными по своей сути. Это означает, что ваша бизнес-логика, написанная на C#, может быть перенесена на Linux с минимальными изменениями или вообще без них.
Фактически, разработчикам не нужно учить новый язык (например, Python или Java) или совершенно новую парадигму. Основное усилие уходит на изучение нюансов самого фреймворка Avalonia и особенностей работы UI в Linux. Это не «переучивание», а скорее «расширение квалификации» с относительно низким порогом входа.
Мощные инструменты в среде Linux: Rider и VSCode
Одним из стереотипов, сдерживающих переход на Linux, было отсутствие полноценной среды разработки. Сегодня это не так. Разработчики .NET имеют в своем распоряжении две превосходные IDE, которые отлично работают в Linux:
JetBrains Rider: Мощная, полнофункциональная среда, поддерживающая .NET, .NET Core и Avalonia UI «из коробки». Rider предлагает продвинутое редактирование, отладчик, встроенные инструменты для работы с базами данных и Git, а также отличную поддержку XAML, включая превью-окно для Avalonia. Для многих это достойная, а зачастую и превосходящая, замена Visual Studio в ОС Linux.
Visual Studio Code: Легковесный, но невероятно расширяемый редактор от Microsoft. С помощью плагинов (C# Dev Kit, Avalonia XAML Editor) он превращается в комфортную среду для разработки кроссплатформенных приложений. Идеальный выбор для тех, кто ценит минимализм и гибкость.
Наличие этих инструментов снимает последние технические барьеры для продуктивной работы в Linux.
Обзор высокоуровневых контролов
Для реализации сложных бизнес-интерфейсов разработчикам доступен ряд бесплатных высокоуровневых контролов. В качестве современной и высокопроизводительной замены классическому DataGrid настоятельно рекомендуется использовать TreeDataGrid — новый контрол от создателей Avalonia, специально разработанный для эффективной работы с большими и сложными наборами данных, поддерживающий иерархию и продвинутую виртуализацию. При этом стоит избегать устаревшего DataGrid, портированного со времен Silverlight, так как он обладает ограниченной функциональностью и не получит значительных обновлений. Стандартный TreeView удобен для отображения простых деревьев, но для создания аналога TreeList с несколькими колонками придется потратить время на кастомизацию шаблона элементов. Организовать интерфейс с множеством документов можно с помощью TabControl, который служит хорошей базой для аналога Tabbed MDI, однако он потребует самостоятельной реализации логики управления вкладками. Что касается передовых практик организации workspace, то в качестве бесплатного и полнофункционального решения для системы стыковки окон (Docking Manager) можно смело рекомендовать библиотеку AvaloniaDock, предоставляющую возможности, сравнимые со средой Visual Studio.
Однако при выборе стратегии, основанной на бесплатных контролах, важно отдавать себе отчет в сопутствующих рисках. Главная проблема — непредсказуемое качество кода. За привлекательной функциональностью может скрываться чей-то студенческий проект или прототип, не рассчитанный на нагрузку серьезного коммерческого приложения, что выльется в трудноуловимые баги и проблемы с производительностью. Другая сложность — отсутствие единой экосистемы. Компоненты от разных авторов зачастую имеют несогласованные API, принципы именования и, что критично для пользователя, визуальный стиль. Вам предстоит потратить значительные усилия, чтобы собрать из этого разнородного «конструктора» приложение, которое выглядит и работает как цельный продукт. Наконец, ключевой риск — это отсутствие гарантированной поддержки. Если в критическом для бизнеса компоненте обнаружится ошибка, исправлять её, скорее всего, придется своей командой, либо долго и без каких-либо гарантий ждать, когда единственный мейнтейнер проекта найдет время на её решение.
К счастью, для платформы Avalonia существуют коммерческие решения, которые полностью снимают перечисленные риски. Ярким примером служит пакет компонентов EremexControls, предлагающий полный спектр профессиональных контролов для построения сложных интерфейсов. Вендор предоставляет высококачественные реализации всех недостающих элементов: мощный DataGrid и TreeList с расширенными функциями (группировка, сортировка, фильтрация, экспорт в PDF и XLSX), полноценный Dock Manager для создания стыкуемых панелей в духе Visual Studio (включая удобное переключение документов по Ctrl+Tab), систему меню, RibbonControl, продвинутый PropertyGrid и даже специализированные контролы вроде 3D-графика. Все компоненты разработаны одной командой профессионалов, что гарантирует единую, продуманную архитектуру API и согласованный внешний вид, включая поддержку светлой и темной тем. Отдельного упоминания заслуживает уровень технической поддержки Eremex. В рабочее время ответ на запрос приходит, как правило, в течение часа, а критические исправления реализуются с впечатляющей скоростью — известны случаи, когда с момента сообщения о проблеме до выпуска исправленной версии проходило менее двух часов, что делает этот продукт надежным фундаментом для ответственных бизнес-приложений.
Заключение
Окончание поддержки Windows 10 — это не угроза, а возможность. Возможность для российского IT-сектора перейти на суверенные операционные системы, не жертвуя накопленными компетенциями в области .NET-разработки. Кроссплатформенный .NET и фреймворк Avalonia UI образуют технологическую основу для этого перехода, позволяя переносить существующие WPF-решения и создавать новые с единой кодовой базой. Как мы увидели, экосистема Avalonia предлагает различные пути для реализации сложных интерфейсов: от бесплатных контролов, требующих глубокой доработки и сопряженных с рисками поддержки, до профессиональных коммерческих решений, таких как EremexControls. Выбор пакета компонентов от проверенного вендора кардинально снижает затраты на разработку и сопровождение, предоставляя готовые, отлаженные и стилистически единые контролы, а также гарантируя оперативную профессиональную поддержку. Таким образом, связка Avalonia UI + .NET + российский дистрибутив Linux + профессиональные компоненты представляет собой не просто рабочую альтернативу, а современную, надежную и экономически эффективную платформу для построения будущего отечественного софта.
Комментарии (0)
Progmech
26.09.2025 10:02Кажется ваш доклад был на DotNext 2024. Интересно было послушать. Но ценник у вас далеко не патриотичный, особенно с учётом того, что вы свой продукт на базе OSS сделали. Это значит раз. Второе - JetBrains ввёл санкции и без плясок с бубнами, т.е. легально лицензию у них ни купить, ни даже получить её для некоммерческого использования. Ждём когда то же сделает Microsoft (ведь, что C# Dev Kit для VSCode, что Visual Studio Community фактически требуют лицензирования через Microsoft.) Visual Studio Code для C# - выглядит как насмешка. Попробовал я там открыть решение на 80 проектов, плюс в каталоге было ещё одно решение... Выглядит так, как будто сделали для галочки - "вы даже под Linux можете работать с .NET".
Так что лучше перейти на Java. Благо свободных IDE хватает под все платформы.Vladmk
26.09.2025 10:02Точно, есть даже платформа JMIX, включенная в реестр отечественного ПО, а OpenIDE и GIGA Code в качестве IDE ) Жалко только, что это Java, вот бы все тоже, но на C# ) Правда, есть еще Kotlin.
xtraroman
26.09.2025 10:02Да, мы были на Dotnext2024 можно тут посмотреть доклад https://www.youtube.com/watch?v=6hG7_qEzpnQ .
Насчет JB, ну, я надеюсь это временные и локальные сложности, а поддержку Win10 прекращают во всем мире.
"сделали коммерческий продукт на ОСС". Ничего просто так бесплатного не бывает. На мой взгляд, Авалонию сделали открытой только по одной причине: чтобы повысить доверие к платформе. Экосистема Авалонии не совсем бесплатна. Новые девтулзы Авалонии созданны коммерческой организацией без помощи сообщества.
"возможна ли net разработка под Linux". Возможна. Часть нашей команды имеет основной ОС Linux. Конечно, встречаются разные сложности, в том числе и те, о которых вы говорили.
"лучше перейти на Java". Лучше для кого? В этой статье рассматривается ситуация: вы оказались в 2025м году с командой у которой есть экспертиза в NET WPF. Вот для этих ребят будет более экономически оправданно перейти на Avalonia а не на Java
Alexsey
Отправляю заслуженные минусы за то что достали аккаунт-консерву ради того чтобы попиарить свой мусор на хабре.
xtraroman
Мне жаль это слышать. Вы уже пробовали наш продукт что то конкретное не понравилось?
Alexsey
Мой посыл в другом: хотите пиариться - хотя бы делайте это открыто и не скрывайте это за аккаунтом-консервой и тонной нейро-сео-мусора.
xtraroman
Я понял, Алексей. Спасибо. К сожалению, не все разработчики умеют интересно излагать. Мы будем учиться.