Фреймворк наконец станет открытым. Хотя… какой ценой?
Команда фреймворка WinUI для Windows объявила о начале перехода к полноценной открытости исходного кода . Как пояснила старший инженер Microsoft Бет Пан, проект вступает в активную фазу трансформации: вместо частичных зеркал, как это происходит сейчас, планируется полная публикация основного репозитория и всей инфраструктуры. Точные сроки пока не определены, поскольку значительная часть фреймворка тесно связана с закрытыми компонентами Windows, которые требуют предварительной изоляции или рефакторинга.
WinUI 3 появился как часть инициативы Project Reunion, запущенной в 2020 году для сближения двух разрозненных лагерей: сторонников классического Win32 API и приверженцев Universal Windows Platform (UWP), появившейся во времена Windows 10. Позже проект эволюционировал в Windows App SDK (WASDK), став единым стеком разработки пользовательских приложений. WinUI поддерживает визуальную систему Fluent Design, применяемую как в десктопных, так и в веб- и мобильных интерфейсах.
До недавнего времени исходный код WinUI лишь эпизодически публиковался на GitHub , тогда как центральный репозиторий оставался внутренним ресурсом Microsoft. По словам Пан, переход будет осуществляться в четыре этапа: сначала увеличится частота синхронизации публичной копии, затем разработчики получат возможность самостоятельно собирать проект, после чего добавят поддержку pull-запросов и локального тестирования. Финальный шаг — полный перенос основной разработки в открытый GitHub-репозиторий.
Главное препятствие — глубоко встроенные в код системные зависимости, не подлежащие открытию. Инженерам предстоит провести серьёзную работу по декомпозиции этих слоёв или вынесению их в отдельные библиотеки, прежде чем репозиторий станет пригоден для публикации. Пан признала, что именно это сдерживало прогресс в течение последних лет.
Опытные участники сообщества встретили новость с осторожным оптимизмом. Многие поддержали идею, но выразили сомнения в том, что Microsoft действительно готова инвестировать значимые ресурсы в развитие WinUI. Среди главных претензий — отсутствие визуального конструктора в Visual Studio, низкая скорость исправления багов и нерешённые проблемы вроде нестабильности модальных окон и отсутствия полноценной валидации пользовательского ввода.
Некоторые отклики были резко критичными. Один из комментаторов признался, что долгие годы вкладывался в экосистему WinUI, но чувствует себя обманутым: «Microsoft не осознаёт, какой урон она нанесла евангелистам и сообществу разработчиков, а также компаниям, поверившим в бесконечную стагнацию и ложные обещания от WinRT, UWP и WASDK». Другой и вовсе поставил под сомнение саму идею: «Вся концепция WinRT и последующего WinUI была ошибочной с самого начала».
Эти высказывания отсылают к периоду после релиза Windows 8, когда компания представила Windows Runtime (WinRT) — альтернативную модель с поддержкой C++, .NET и других языков через механизм проекций. Именно тогда началось фрагментирование среды разработки: появились параллельные стеки, исчезло единое направление, а выбор инструментов стал затруднённым.
Несмотря на критику, открытие исходников WinUI остаётся шагом, которого давно ждали. Тем не менее, как подчёркивают участники сообщества, ключевым фактором станет не сама декларация, а реальное финансирование: «Сколько специалистов вообще работает над WinUI и WinAppSDK?» — задаётся вопросом один из разработчиков. «Кажется, что всё внимание сейчас сосредоточено на вебе, а остальное держится только из уважения к прошлому».