На календаре 8 марта, и я пишу эту статью.
Почему? - Потому что WinUI 3 важен!
Фон
Чтобы понять, что такое 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 ).
Но что-то все равно не так.
Предпочтения разработчиков по выбору платформы на 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:
Откуда взялся .
NET 5?
Что такое .
NET?
- Из предыстории блока можно узнать, что в 2002 году была выпущена Windows-ориентированная платформа для разработки программного обеспечения — .
NET Framework. Развивался до 2019 года, когда вышла последняя версия — 4.8.
- Параллельно с 2016 года начала развиваться новая модульная платформа для разработки ПО с открытым исходным кодом — .
NET Core. Кроме того, она была кроссплатформенной.
- И наконец — .
NET 5. Это выпущенная в 2020 году единая платформа для разработки программного обеспечения.
Он сочетает в себе все преимущества .
NET Framework, .
NET Core и некоторых подобных платформ.
По словам Microsoft, сейчас это единственная платформа, в направлении которой компания будет развиваться.
Планы по развитию и поддержке платформы .
NET И теперь, имея единую программную платформу — .
NET 5, Microsoft может реализовать идею с помощью унифицированного интерфейса, но при этом оставить возможность использовать удобные API: будь то UWP API или Win32.
Это золотая середина, когда мы можем использовать современные высокопроизводительные визуальные компоненты наряду с функциональностью системных API.
Перспективы WinUI 3
По словам самой Microsoft, у компании огромные планы на WinUI 3 и ее последующие версии.
Начнем с того, что уже в осеннем обновлении Windows мы сможем увидеть переход многих частей операционной системы на WinUI 3.
Xamarin, MAUI и WinUI 3?
MAUI (UI многоплатформенного приложения) — это кроссплатформенная библиотека графического интерфейса.
Это развитие Xamarin.Forms. В Windows это будет работать именно через компоненты WinUI 3. Дополнительная информация о МАУИ: devblog.microsoft , github .
Платформа Uno и WinUI 3?
Uno Platform — это кроссплатформенный графический интерфейс с открытым исходным кодом, который позволяет запускать код на основе WinUI и универсальной платформы Windows на iOS, macOS, Linux, Android и WebAssembly.
Команда разработчиков Uno Platform с первых дней заявила о своем фокусе на WinUI 3. А через 12 часов после выхода WinUI 3 Preview 4 его поддержка уже была добавлена в платформу Uno. Дополнительная информация о платформе Uno: платформа.
uno
, github .
Будущее системных API
Что касается системных API, Microsoft не отказывается от идеи их унификации.Поэтому Project Reunion сейчас находится в активной разработке.
Это универсальная модульная оболочка, которая должна обеспечивать быстрый доступ ко всем API Win32 и UWP.
Project Reunion будет очень тесно связан с WinUI 3. И уже находится в предварительной версии.
Дополнительная информация о проекте «Воссоединение»: docs.microsoft.com , github
Теги: #Разработка Windows #Windows #api #C++ #.
NET #Shells #xamarin #uwp #winui #win32 #project reunion #uno
-
Твиттер-Трансляция
19 Oct, 24