Современные Windows-приложения станут быстрее и «легче»
Корпорация Microsoft выпустила предварительную сборку Windows App SDK 1.6, благодаря которой современные приложения для Windows могут стать существенно быстрее и компактнее – если на то будет воля разработчиков. Об этом сообщило профильное издание Windows Latest.
Windows App SDK (ранее известный как “Project Reunion”) представляет собой набор инструментов для создания современных Windows-приложений. Включает библиотеки WinUI 3 для построения графического интерфейса приложений, WebView2 для веб-содержимого, MSIX для упаковки приложений и MRT Core для управления ресурсами.
В рамках Project Reunion, анонсированного Microsoft на конференции для разработчиков в мае 2020 г., компания планировала обеспечить простую интеграцию между программными интерфейсами Win32 и Universal Windows Platform (UWP), предоставив единую платформу для разработки с поддержкой обратной совместимости.
Благодаря новому инструментарию разработчики ПО получили возможность создавать приложения, которые заработают на любом устройстве с Windows 10 (впоследствии и с Windows 11), вне зависимости от типа аппаратной платформы и конкретной версии ОС. Предполагалось, что существующие приложения также можно будет адаптировать к новой модели.
Приложения с врожденным пороком
Как отмечает Windows Latest, едва ли не все существующие приложения, созданные с использованием Windows App SDK, отличаются медленным запуском или отсутствием плавности в работе графического интерфейса – особенно это заметно при взаимодействии с кнопками или иными элементами управления.
Ранее издание констатировало наличие проблем производительности у стандартных приложений Windows 11 «Связь с телефоном» (Phone Link) и «Фотографии» (Photos). Нарекания, в частности, вызывал долгий старт таких, казалось бы, функционально простых программ, с длительным ожиданием исчезновения окна с экраном-заставкой (Splash Screen) и появлением основного окна приложения.
В Microsoft, по всей вероятности, также осознают, что приложения вроде «Фотографий», на современном «железе» должны запускаться практически моментально. Поэтому после сентябрьского обновления программы в Windows появилась возможность настройки автоматического запуска приложения «Фотограф» в фоновом режиме, благодаря чему при следующем обращении к нему со стороны пользователя уже находящееся в памяти программа быстрее отреагирует на запрос, нежели при «холодном» старте.
Невысокая скорость запуска не единственная проблема приложений, построенных с помощью Windows App SDK. Программам этого типа присуща определенная «неповоротливость», отмечает Windows Latest. В современных Windows-приложениях нередко используется интегрированное веб-содержимое – за это отвечает среда исполнения Edge WebView2, к примеру, в переработанном почтовом клиенте Microsoft Outlook, что отрицательно сказывается на отзывчивости интерфейса программы и ведет к потреблению значительно большего объема оперативной памяти в сравнении с традиционными Windows-приложениями.
Поддержка Native AOT
Начиная с Windows App SDK версии 1.6 Preview 2, инструментарий поддерживает нативную AOT-компиляцию (компиляция кода перед исполнением программы) .NET Core-приложений. Собранные таким образом приложения отличаются более высокой скоростью старта и меньшим «аппетитом» на память.
Первичные внутренние тесты, проведенные специалистами Microsoft, показали, что переработанные с соответствии с подходом Native AOT приложения запускаются на 50% быстрее, в упакованном виде (MSIX) занимают до восьми раз меньше места на накопителе, а в формате self-contained (когда приложение включает т все необходимые для работы зависимости) – до двух раз.
Важно понимать, что существующие современные приложения для Windows 11 сами по себе благодаря этому изменению быстрее работать не станут. Для этого потребуются определенные усилия со стороны их разработчиков. Ожидать таковых в первую очередь стоит от самой Microsoft, которая наверняка заинтересована в оптимизации все тех же приложений «Связь с телефоном» и «Фотографии».