Тема 1.1: Що таке WinUI 3?

WinUI 3 Gallery

Вступ

Ласкаво просимо до світу розробки інтерфейсів користувача з WinUI 3! Сьогодні ми познайомимося з сучасним інструментом від Microsoft, який дозволяє створювати красиві, швидкі та функціональні додатки для Windows. Якщо ви вже знаєте C#, то WinUI 3 стане для вас логічним кроком для освоєння створення настільних додатків із сучасним дизайном. У цій темі ми розберемо, що таке WinUI 3, як він з’явився, чим відрізняється від інших фреймворків і чому його варто вивчати.


1. Що таке WinUI 3?

WinUI 3 — це фреймворк для створення нативних інтерфейсів користувача (UI) у Windows. Він є частиною Windows App SDK — набору інструментів, який Microsoft розробила, щоб спростити створення додатків для Windows 10 і 11. WinUI 3 дозволяє розробникам писати код на C# (або C++, якщо потрібно) і використовувати мову розмітки XAML для створення UI.

Коротка історія

Щоб зрозуміти, звідки взявся WinUI 3, давайте подивимося на еволюцію UI-технологій Microsoft:

  • WinForms: Старіший фреймворк для простих настільних додатків.
  • WPF (Windows Presentation Foundation): Потужний інструмент на базі .NET із підтримкою XAML, який з’явився у 2006 році.
  • UWP (Universal Windows Platform): Універсальна платформа для Windows 10, яка дозволяла створювати додатки для ПК, планшетів і Xbox.
  • WinUI: Спочатку з’явився як бібліотека для UWP (WinUI 1 і 2), а з WinUI 3 став окремим фреймворком.

WinUI 3 — це "третє покоління" WinUI, яке вийшло у 2021 році. Воно відокремилося від UWP і стало самостійним рішенням, яке фокусується на настільних додатках, але зберігає сучасний підхід до дизайну.

Основна ідея

Microsoft хотіла зробити так, щоб розробники могли створювати додатки з красивим інтерфейсом, який оновлюється незалежно від операційної системи. Уявіть: ви пишете додаток, а його UI виглядає сучасно навіть через 5 років, бо WinUI оновлюється окремо від Windows. Це і є головна "фішка" WinUI 3.


2. Відмінності від інших фреймворків

Щоб зрозуміти, коли і чому використовувати WinUI 3, давайте порівняємо його з двома іншими популярними технологіями: UWP і WPF.

WinUI 3 vs UWP

  • UWP — це платформа, яка працює в "пісочниці" (обмеженому середовищі) і підходить для універсальних додатків (ПК, Xbox, HoloLens). Але вона тісно прив’язана до Windows 10/11.
  • WinUI 3 — це фреймворк, який працює через Windows App SDK. Він не обмежений "пісочницею" так сильно, як UWP, і більше орієнтований на настільні додатки.
  • Висновок: Якщо вам потрібен простий настільний додаток із сучасним дизайном, WinUI 3 — кращий вибір.

WinUI 3 vs WPF

  • WPF — це зрілий фреймворк на базі .NET, який використовує DirectX для рендерингу. Він дуже потужний, але потребує додаткових зусиль, щоб виглядати сучасно.
  • WinUI 3 — це нативний фреймворк, який використовує рендеринг Windows і має вбудовану підтримку Fluent Design (про нього трохи пізніше).
  • Висновок: WPF підходить для старих проєктів або коли потрібна максимальна гнучкість. WinUI 3 — це майбутнє UI від Microsoft.

3. Переваги WinUI 3

Чому варто обрати WinUI 3? Ось кілька причин:

  1. Сумісність із Windows: Працює на Windows 10 (починаючи з версії 1809, тобто з жовтня 2018 року) і Windows 11. Ваш додаток запуститься майже у всіх користувачів.
  2. Продуктивність: WinUI 3 використовує нативний рендеринг (тобто "рідний" для Windows), що робить інтерфейс швидким і плавним.
  3. Сучасний дизайн: Підтримує Fluent Design System — набір правил від Microsoft для створення красивих інтерфейсів із прозорістю (Acrylic), анімаціями та підсвіткою (Reveal).
  4. Гнучкість: Ви можете використовувати .NET 8 (найновішу версію .NET) і навіть поєднувати керований код (C#) із некерованим (C++).
  5. Відкритий код: WinUI 3 доступний на GitHub, і ви можете переглянути його код чи навіть долучитися до розробки.

Приклади додатків на WinUI 3: калькулятор у Windows 11, Microsoft Store. Це реальні продукти, які показують, на що здатен цей фреймворк.


4. Архітектура WinUI 3

WinUI 3 — це не просто набір бібліотек, а ціла система, яка працює через Windows App SDK. Давайте розберемо, як це влаштовано.

Основні компоненти

  • Windows App SDK: Це "основа", яка включає WinUI 3, Runtime (середовище виконання) і додаткові API для доступу до функцій Windows. це комплект для розробки програмного забезпечення від Microsoft, який надає уніфікований набір API і компонентів, які можна використовувати для розробки настільних програм для Windows 11 і Windows 10 версії 1809 і пізніших.
  • WinUI Runtime: Відповідає за те, щоб ваш інтерфейс "ожив" на екрані — рендеринг, анімації тощо.
  • XAML Compiler: Перетворює ваш XAML-код (про нього поговоримо далі) у щось, що Windows може зрозуміти.
  • WinRT (Windows Runtime): Дозволяє вашому додатку "спілкуватися" з операційною системою — наприклад, показувати сповіщення чи відкривати файли.

Як це працює?

  1. Ви пишете код на C# і XAML.
  2. XAML компілюється у нативний код.
  3. WinUI Runtime "малює" інтерфейс на екрані за допомогою нативних можливостей Windows.
  4. Windows App SDK забезпечує зв’язок із системою.

Ключова особливість

WinUI 3 оновлюється через NuGet (бібліотеку пакетів), а не через оновлення Windows. Це означає, що ви можете використовувати найновішу версію фреймворку навіть на старій версії Windows 10.


5. Вимоги до розробки

Щоб почати працювати з WinUI 3, вам знадобиться:

Системні вимоги

  • Операційна система: Windows 10 (версія 1809 або новіша) або Windows 11. Розробляти можна на будь-якій із цих систем.
  • Інструменти: Visual Studio 2022 (будь-яка версія: Community, Professional, Enterprise).

Встановлення

  1. Встановіть Visual Studio 2022.
  2. Під час встановлення виберіть workload "Desktop development with C#" — це додасть підтримку WinUI 3.
  3. Windows App SDK автоматично підтягується, коли ви створюєте проєкт WinUI 3, але переконайтеся, що у вас є .NET 8 SDK.

Сумісність

  • Ваш додаток працюватиме на Windows 10 (1809+) і Windows 11.
  • На Windows 11 ви отримаєте додаткові "фішки", наприклад, закруглені кути вікон, які автоматично підтримуються WinUI 3.

Інструменти для роботи

Visual Studio має вбудовані функції для WinUI:

  • Live Visual Tree: Показує структуру вашого UI в реальному часі.
  • XAML Debugging: Допомагає знайти помилки в розмітці.

6. Практична частина: Перший погляд

Давайте подивимося, як виглядає WinUI 3 у дії:

  1. Відкрийте Visual Studio 2022.
  2. Створіть новий проєкт: виберіть шаблон "Blank App, Packaged (WinUI 3 in Desktop)".
  3. Назвіть проєкт, наприклад, "MyFirstWinUIApp".
  4. Натисніть "Create" і запустіть проєкт (F5).

Ви побачите порожнє вікно. Це базовий додаток WinUI 3! Поки що ми нічого не додали, але це вже працює. На наступних заняттях ми наповнимо його змістом.


Питання для роздумів

  1. Чому Microsoft вирішила відокремити WinUI від UWP? Як це впливає на розробників?
  2. Уявіть, що ви пишете додаток (наприклад, список завдань). Чому WinUI 3 може бути кращим вибором, ніж WPF?

Ресурси


Висновок

WinUI 3 — це сучасний, продуктивний і гнучкий фреймворк для створення настільних додатків у Windows. Він поєднує в собі красу Fluent Design, швидкість нативного рендерингу та підтримку новітніх технологій, таких як .NET 8. Наступного разу ми налаштуємо середовище розробки і створимо наш перший справжній проєкт. Готуйтеся до практики!