Winui 3 — Новая Эра Разработки Windows

На календаре 8 марта, и я пишу эту статью.

Почему? - Потому что WinUI 3 важен!



Фон

Чтобы понять, что такое WinUI 3 и какие глобальные проблемы он решает, предлагаю окунуться в историю разработки десктопов под Windows:

WinUI 3 — новая эра разработки Windows

История развития десктопной разработки для Windows
  • Итак, на дворе 1995 год, и мы начинаем писать наш калькулятор на C++ и Win32. Win32 — это системный API самого низкого уровня.

    Помимо многих функций системы, она позволяет работать с визуальным интерфейсом.

    Ниже представлена только модель драйверов Windows.

  • 2002 год — наш калькулятор уже можно писать на оболочке более высокого уровня — WinForms (Windows Forms).

    Создает обертку над Win32 для более простого и удобного взаимодействия с системой.

    А благодаря .

    NET Framework и CLR, которые также были выпущены в 2002 году, мы можем использовать для разработки целую кучу разных языков.

    К ним относятся C#, C++, VB.Net, J# и другие.

  • WPF — это наш ответ устаревшим технологиям.

    В конце 2006 года Microsoft представит WPF — обширный программный интерфейс для создания настольных графических программ с богатым дизайном и интерактивностью.

    Новый подход включал совершенно другую модель создания пользовательских приложений, основанную на .

    NET Framework и DirectX. С выпуском WPF у нас появились следующие возможности: WEB-подобная модель макета, расширенная модель рисования, анимация, поддержка аудио и видео, стили и шаблоны, декларативный пользовательский интерфейс, подход MVVM и язык разметки XAML.

  • 2012 год – выход Windows 8. На тему новой ОС было много споров и обсуждений.

    Но самым интересным изменением, которое с ним произошло, стал выпуск WinRT или Windows Runtime. Именно поэтому в Windows есть 2 меню настроек: «Новое» и «Панель управления».

    WinRT — это, по сути, технология, основанная на API. КОМ .

    COM, в свою очередь, предполагал использование одних и тех же системных компонентов во многих местах одновременно.

    Например, PrintDialog теперь представляет собой единый компонент, к реальному состоянию которого можно получить доступ из любой точки системы.

    Нам больше не нужно загружать информацию о нем каждый раз, когда мы его используем, как это было в случае с Win32.

  • 2016 г.

    — Универсальная платформа Windows или UWP. Апогей унификации Windows. Продолжая идею WinRT, UWP активно объединяет системные функции и компоненты в рамках единого программного интерфейса, который теперь может работать на всех устройствах с Windows 10 без изменения кода! Но это касается не только программных функций, но и визуальных компонентов.

    Так родился WinUI 2 — единый визуальный интерфейс для всех приложений Windows.



Что мы имеем в итоге?

В результате мы имеем мощную платформу с единым программным обеспечением и визуальным интерфейсом.

Наш стандартный калькулятор уже создан как приложение UWP (исходный код калькулятора для Windows можно найти в свободном доступе на сайте github ).

Но что-то все равно не так.



WinUI 3 — новая эра разработки Windows

Предпочтения разработчиков по выбору платформы на 2016 год Опрос Telerik, проведенный в 2016 году, показал, что сообщество разработчиков неохотно использует UWP в качестве основной платформы в своих новых проектах.

В чем дело? Все дело в унификации приложений для Windows. Обернув их в различные новые API и среду выполнения Windows, разработчики потеряли возможность напрямую работать со старым добрым Win32. Они, в свою очередь, предоставляют огромные возможности для тонкой настройки работы с системой.

А список системных API, которые теперь доступны из приложений UWP, кажется просто смешным.

Вы можете узнать больше об этом здесь: Список системных API, доступных через приложение UWP

WinUI 3

Именно проблему недоступности системных API решит новая версия WinUI. WinUI 3 Preview 4 уже находится в предварительной версии, а официальный релиз запланирован на март. Но как можно будет получить доступ к системным API для приложения, которое изначально предназначалось для работы на API WinRT и UWP? Все просто: вам нужно разделить визуальную часть и среду выполнения.

Ключом к этому стала платформа .

NET:

WinUI 3 — новая эра разработки Windows

Откуда взялся .

NET 5?

Что такое .

NET?

  • Из предыстории блока можно узнать, что в 2002 году была выпущена Windows-ориентированная платформа для разработки программного обеспечения — .

    NET Framework. Развивался до 2019 года, когда вышла последняя версия — 4.8.

  • Параллельно с 2016 года начала развиваться новая модульная платформа для разработки ПО с открытым исходным кодом — .

    NET Core. Кроме того, она была кроссплатформенной.

  • И наконец — .

    NET 5. Это выпущенная в 2020 году единая платформа для разработки программного обеспечения.

    Он сочетает в себе все преимущества .

    NET Framework, .

    NET Core и некоторых подобных платформ.



WinUI 3 — новая эра разработки Windows

По словам Microsoft, сейчас это единственная платформа, в направлении которой компания будет развиваться.



WinUI 3 — новая эра разработки Windows

Планы по развитию и поддержке платформы .

NET И теперь, имея единую программную платформу — .

NET 5, Microsoft может реализовать идею с помощью унифицированного интерфейса, но при этом оставить возможность использовать удобные API: будь то UWP API или Win32.

WinUI 3 — новая эра разработки Windows

Это золотая середина, когда мы можем использовать современные высокопроизводительные визуальные компоненты наряду с функциональностью системных API.

Перспективы WinUI 3

По словам самой Microsoft, у компании огромные планы на WinUI 3 и ее последующие версии.

Начнем с того, что уже в осеннем обновлении Windows мы сможем увидеть переход многих частей операционной системы на WinUI 3.

Xamarin, MAUI и WinUI 3?



WinUI 3 — новая эра разработки Windows

MAUI (UI многоплатформенного приложения) — это кроссплатформенная библиотека графического интерфейса.

Это развитие Xamarin.Forms. В Windows это будет работать именно через компоненты WinUI 3. Дополнительная информация о МАУИ: devblog.microsoft , github .



Платформа Uno и WinUI 3?



WinUI 3 — новая эра разработки Windows

Uno Platform — это кроссплатформенный графический интерфейс с открытым исходным кодом, который позволяет запускать код на основе WinUI и универсальной платформы Windows на iOS, macOS, Linux, Android и WebAssembly.

WinUI 3 — новая эра разработки Windows

Команда разработчиков Uno Platform с первых дней заявила о своем фокусе на WinUI 3. А через 12 часов после выхода WinUI 3 Preview 4 его поддержка уже была добавлена в платформу Uno. Дополнительная информация о платформе Uno: платформа.

uno , github .



Будущее системных API

Что касается системных API, Microsoft не отказывается от идеи их унификации.

Поэтому Project Reunion сейчас находится в активной разработке.

Это универсальная модульная оболочка, которая должна обеспечивать быстрый доступ ко всем API Win32 и UWP.

WinUI 3 — новая эра разработки Windows

Project Reunion будет очень тесно связан с WinUI 3. И уже находится в предварительной версии.



WinUI 3 — новая эра разработки Windows

Дополнительная информация о проекте «Воссоединение»: docs.microsoft.com , github Теги: #Разработка Windows #Windows #api #C++ #.

NET #Shells #xamarin #uwp #winui #win32 #project reunion #uno

Вместе с данным постом часто просматривают: