Перспективи розвитку:
У 2021 році було впроваджено Windows App SDK, який має на меті забезпечити розробників універсальним набором API та інструментів для створення сучасних додатків для Windows на платформі настільних комп’ютерів. Розробники можуть вибирати між традиційною моделлю Win32 API або UWP/WPF, при цьому маючи можливість скористатися сучасними елементами керування, наданими WinUI 3, та широкою сумісністю з версіями Windows 10 і Windows 11.
Нещодавно Microsoft анонсувала випуск версії Windows App SDK 1.6, яка, на думку компанії, значно покращить продуктивність та зменшить розмір пакунків для «сучасних» додатків на Windows 11 (і 10). Найважливішим нововведенням стало додавання підтримки Native Ahead-Of-Time (AOT) компіляції.
Переваги Native AOT компіляції для додатків
Коли розробники публікують свої додатки з підтримкою Native AOT, код компілюється в рідні інструкції, що усуває необхідність у використанні інтерпретатора для запуску додатка. Microsoft пояснила, що додатки, створені за допомогою Native AOT, мають значно швидший час запуску та зменшений обсяг споживаної пам’яті, що є важливими аспектами, на які користувачі звертали увагу в деяких додатках, що постачаються з Windows 11.
За результатами тестів Microsoft, приклад додатку (Contoso Camera), перетвореного на пакет Native AOT, показав зменшення часу запуску на 50% і зниження розміру пакунка на 8% при використанні «фреймворк пакету». Додатки, що постачаються у самодостатньому режимі, були також вдвічі меншими за розміром.
Оптимізація продуктивності Windows App SDK 1.6
Відокремлення Edge WebView2 SDK
Оновлений Windows App SDK також вводить «розділення» Edge WebView2 SDK, яке раніше було вбудоване в кожен додаток як жорстко закріплений рушій макету. Використання повноцінного браузерного рушія для одного додатка споживає велику кількість пам’яті та ресурсів процесора, тому Microsoft вирішила значно змінити підхід до доступу до цього рушія в подальшому.
За словами Microsoft, якщо додаток використовує WebView2 для відображення вмісту, рушій тепер доступний як «посилання NuGet», а не вбудований безпосередньо в додаток. NuGet — це пакетний менеджер, який використовують в основному для додатків, розроблених за допомогою .NET та .NET Framework, доставляючи пакунки у вигляді єдиного архіву формату Zip з розширенням .nupack або .nupkg.
Нові можливості та покращення в Windows App SDK 1.6
Інші оновлення в Windows App SDK 1.6 включають нові API для розгортання пакунків, які тепер пропонують додаткові можливості для видалення, розгортання та виявлення очікуючих реєстрацій і доступних локальних оновлень. Крім того, значно покращено контроль TabView у WinUI 3, що дозволяє отримати кращий досвід роботи з перетягуванням та скиданням.