Наследие Windows-приложений никуда не денется в ближайшее время, и это одна из причин, по которой модернизация старых приложений по-прежнему может быть серьезной головной болью для разработчиков. Более того, сама Microsoft стремится максимально сохранять поддержку устаревших технологий, что, в свою очередь, замедляет темпы развития.
Однако вскоре это может измениться к лучшему, поскольку компания недавно продемонстрировала, как ИИ может значительно упростить, по крайней мере, часть этого процесса, аналогично тому, как это происходит в случае улучшения сырой производительности.
В новом сообщении в блоге Microsoft продемонстрировала, как ее инструмент модернизации GitHub Copilot может взять приложение на .NET Framework и обновить его до .NET 10 с относительно небольшим объемом ручной работы. Хотя это напрямую не связано с разработкой для Windows, между этими процессами есть значительное пересечение, и можно провести параллели. Кроме того, Windows, в конце концов, эволюционирует в ИИ-ориентированную агентную ОС, и все большая часть фундаментальной работы неизбежно будет выполняться с помощью ИИ-ассистированного кодирования.

Фактически, как заметил Neowin, компания теперь сама указывает разработчикам Windows на такие утилиты, как плагин агента WinUI, который предоставляет инструменты для сквозной разработки приложений на базе WinUI в GitHub Copilot или Claude Code. У Microsoft также есть возможности ИИ-ассистированного тестирования, которые могут генерировать и запускать UI-тесты с использованием Windows UI Automation для валидации. Такой подход призван поддержать как разработчиков, создающих новые приложения WinUI 3, так и тех, кто модернизирует уже существующие приложения в Windows. Эти инструменты доступны через командную строку, VS Code или IDE, такие как Visual Studio.

Возвращаясь к теме GitHub Copilot, пример приложения, приведенный Microsoft, использует BookCatalog — простое приложение для работы с формами и данными, построенное на .NET Framework, которое позволяет пользователям просматривать, добавлять, редактировать и удалять книги. Разработчики могут просто щелкнуть правой кнопкой мыши по проекту или решению в Visual Studio и выбрать опцию Modernize, вместо того чтобы вручную прорабатывать приложение и выяснять, что нужно изменить.

Агент модернизации работает через серию контрольных точек, позволяя разработчикам проверять, что он обнаружил и что собирается изменить. Затем Copilot создает план обновления на основе этих данных. Разработчики могут просмотреть и изменить план перед его утверждением, после чего агент выполняет необходимые задачи по одной. В примере обновление завершается после пяти задач.
После завершения работы приложение можно запустить и протестировать. Интересно, что Microsoft отмечает: агент модернизации не переделывает пользовательский интерфейс приложения. В своей демонстрации обновленное приложение выглядит так же, как и раньше, поэтому разработчикам придется самостоятельно заниматься визуальным обновлением.

Именно здесь могут пригодиться инструменты модернизации GitHub Copilot от Microsoft и упомянутые выше агентные инструменты WinUI. По сути, с помощью таких ИИ-ассистированных и агентных улучшений кодирования Microsoft показала, как разработчики могут перейти от оценки старого приложения к обновлению его базового фреймворка и последующей подготовке к работе в Azure или Windows, не обрабатывая вручную каждую отдельную задачу по обновлению.
Конечно, это не означает, что любое десятилетиями старое Windows-приложение можно внезапно модернизировать одним щелчком мыши. Сама Microsoft использует управляемые контрольные точки именно потому, что разработчикам по-прежнему необходимо проверять, что делает ИИ, и решать специфические для приложения проблемы. Тем не менее, этот пример наглядно показывает, как ИИ-ассистированная разработка меняет одну из наименее привлекательных частей программной инженерии, поскольку разработчики все чаще смогут использовать агентные инструменты для обновления базового кода, сохраняя при этом само приложение в значительной степени нетронутым.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Sayan Sen




