Windows 11 — крупнейшее обновление ОС за последние годы. Вот семь главных изменений для разработчиков

От нового магазина приложений до платформы для разработки игр.

Материал подготовлен при поддержке Microsoft

5 октября Microsoft выпустила Windows 11. Система сильно изменилась внешне, но её значительно переработали и внутри: Microsoft сделала ставку на открытость системы для разработчиков всех платформ. Разбираемся, чем Windows 11 будет полезна разработчикам.

Новый и открытый магазин приложений Windows Store

Вместе с новой версией системы Microsoft обновила собственный магазин приложений. Компания переработала дизайн: на главную страницу вынесли коллекции, появились кураторские подборки приложений и виджет магазина в Windows 11. Сам магазин стал открываться и работать на 35% быстрее, чем раньше.

На Windows 10 магазин был ограничен только определёнными приложениями на основе appx- и MSIX-упакованного кода. Теперь Microsoft Store для Windows поддерживает широкий спектр разных типов приложений — от Win32 и .NET до Android-приложений из Amazon Appstore (возможность пока тестируется). Магазин даже начал поддерживать веб-приложения на React Native и Electron, а также WebView2 от Microsoft и PWA (прогрессивных веб-приложений).

Разработчики могут использовать и новые возможности магазина — например, всплывающие окна с предложением установить приложение напрямую из браузера. В Microsoft Store впервые можно размещать другие браузеры, например Yandex и Opera, а также витрины других магазинов приложений — к примеру, Epic Games и Amazon Appstore.

Теперь разработчики могут не платить отчисления Microsoft, а использовать свой платёжный движок: не придётся платить компании 15% с заработка (12% для игр). При этом компания не требует специальным образом адаптировать приложения под магазин. Скоро там появится поддержка Android-игр и приложений в партнёрстве с Amazon. Для этого Microsoft разработала подсистему Windows для Android, которая поддерживает все совместимые с Windows процессоры — AMD, Intel и Qualcomm. Компания работала в сотрудничестве с Intel, чтобы запускать на процессорах приложения под ARM.

Разработка под Windows на архитектуре ARM

Приложения Windows работают на компьютерах с ARM64-процессорами. Архитектура таких чипов заточена под низкое энергопотребление и обеспечивает высокую совместимость приложений — 32-разрядные приложения запускаются без изменений.

Теперь разработчики могут создавать приложения под Windows 11 с полной поддержкой ARM-архитектуры на аппаратном уровне. Для этого в систему добавили новый двоичный интерфейс ARM64EC. С его помощью можно совмещать естественный для ARM код с эмулированным 64-битным кодом в одном процессе или модуле. Разработчики смогут оптимизировать приложение для Windows под ARM, даже если оно полагается на стороннюю 64-битную архитектуру или использует 64-битные плагины.

С ARM64EC разработчики могут начинать с малого и постепенно внедрять поддержку ARM. Они могут определить для себя только ту часть кода, которая сильнее всего выиграет от нативной производительности на ARM, а затем перестроить этот отрезок под ARM64EC. Остальное приложение продолжит работать в режиме 64-битной эмуляции.

Приложения с ARM64EC не получают никаких особых преимуществ — они работают с папкой Program Files и регистром, как другие программы. Код для ARM64EC работает на полной скорости, поэтому разработчики не теряют преимуществ портирования на ARM, но получают возможность писать код одновременно с x86- и x64-битностью.

Возможность использовать 32-битный и 64-битный код для ARM позволяет создавать приложения для Windows 11 без оглядки на 64-битный код вне контроля разработчика. Проекты со сторонними решениями без поддержки ARM могут продолжить работать в 64 битах, а собственный код разработчика — в нативной производительности через ARM64EC. Microsoft сама уже использовала новый интерфейс и выпустит Office для ARM с 64-битным исполнением через ARM64EC и поддержкой сторонних плагинов в режиме эмуляции.

Универсальный набор для разработки под Windows 11

Одно из главных обновлений с выходом Windows 11 — это Windows App SDK. Набор самых последних компонентов и инструментов для разработчиков Windows-приложений — API и средства, позволяющие создавать классические приложения для Windows 10 и более поздних версий и публиковать их в Microsoft Store.

Windows App SDK — новое название для Project Reunion. Пакет инструментов работает с существующим кодом и упрощает основные операции, в то же время добавляя новые возможности системы для десктопных приложений. Например, режим «картинка в картинке».

Для использования пакета SDK в уже существующем проекте достаточно установить последнюю версию NuGet и с его помощью добавить пакет SDK для приложений Windows. При создании нового приложения нужно выбрать его тип, но вне зависимости от него у разработчиков будет доступ к большей части возможностей платформы Windows.

Windows App SDK повлияет на будущие разработки под Windows. Microsoft официально переходит на новое поколение инструментов, окончательно отказываясь от Win32 и WinRT. Windows 11 станет отправной точкой для нового набора SDK и API будущих Windows-разработчиков.

При этом Windows App SDK предназначен не только для Windows 11: десятую версию продолжат поддерживать ещё как минимум несколько лет. Поэтому пакет инструментов будет обратно совместим с Windows 10, чтобы облегчить переход с устаревших Win32 и WinRT.

Библиотека готового дизайна для приложений WinUI 3

Создатели также анонсировали WinUI 3 — это готовая библиотека пользовательского интерфейса для Windows-приложений. Достаточно добавить её поддержку в приложение, чтобы оно получило все обновления дизайна Windows 11, включая скруглённую геометрию, новую иконографию и типографию и цветовую палитру. В WinUI 3 поддерживаются новые «материалы» Acrylic и Mica, макеты окон Snap Layouts, появилось API нового контекстного меню — всё это работает только на Windows 11.

Microsoft параллельно разрабатывает два поколения библиотеки — WinUI 2 и WinUI 3. Разработчики могут использовать каждую версию для готовых к работе приложений Windows 10 и более поздних версий — поколения отличаются задачами, а их новые выпуски выходят в разное время. WinUI поддерживает классические и UWP-приложения, сборку с библиотекой можно выполнять с нуля или постепенно переносить существующие приложения, используя привычные языки — C++, C#, Visual Basic и JavaScript (React Native для Windows).

В WinUI 2.7 также появился InfoBadge — элемент, который можно поместить в любую часть пользовательского интерфейса. Он встроен в NavigationView и позволяет ненавязчиво привлечь внимание пользователя к конкретной области на экране.

Обе версии библиотек позволят обновить существующие приложения под визуальные требования Windows 11. WinUI 3 входит в состав пакета Windows App SDK.

Обновление PWA Builder 3 и поддержка WebView2 на уровне системы для веб-приложений

В Windows 11 усовершенствовали поддержку веб-приложений. По задумке Microsoft, все приложения должны ощущаться максимально естественно, как будто их создали специально под систему. Для этого компания развивает PWA (прогрессивные веб-приложения) — технологию, которая совмещает лучшее от нативных и веб-приложений в одном решении.

Благодаря PWA уже на старте в Microsoft Store доступны приложения популярных сайтов — Pinterest, Facebook, Instagram и Twitter. Технология позволяет привнести опыт нативных приложений за счёт глубокой интеграции с экосистемой Windows с минимальной стоимостью разработки. Например, PWA могут появляться в настройках, меню «Пуск», «Панели задач» и запускаться в своём отдельном окне или играть музыку в фоновом режиме, а также использовать пуш-уведомления.

Ещё одно преимущество PWA — высокая производительность. У прогрессивных веб-приложений есть автономные возможности вроде кеширования, но они работают на той же кодовой базе, что и сайт, — это позволяет обслуживать, обновлять и исправлять ошибки и в веб-приложениях, и в PWA одновременно.

В PWA можно превратить веб-приложения на основе React Native или Electron (например, Slack), а затем разместить в Microsoft Store, которому доверяют миллиард ежемесячно активных пользователей ОС. Microsoft предлагает доступ к бесплатному продвижению, включению в подборки и не только.

Компания обновила инструмент PWABuilder до третьей версии — он позволяет создавать приложения на основе существующего и нового HTML- и JavaScript-контента. Превратить сайт в PWA можно будет за считаные минуты (веб-разработчики могут успеть сделать это за обед), хотя реализация отдельных преимуществ может занять больше времени.

В новом интерфейсе WinUI 3 также предустановили evergreen-версию компонента WebView2. Нововведение упрощает создание эффективных и безопасных гибридных веб-приложений через Microsoft Edge: раньше WebView не был настолько интегрирован в систему.

Теперь разработчики приложений на базе HTML получат все преимущества Chromium — open-source-основы для самых популярных браузеров в мире. Microsoft и сама воспользуется обновлением: следующее крупное обновление Teams выпустят в виде WebView2-приложения вместо версии на Electron, которая потребляет куда больше ресурсов системы.

Обновление Windows Subsystem for Linux 2 и появление в Store

Windows Subsystem for Linux — это подсистема, которая позволяет разработчикам запускать среду GNU/Linux без традиционной виртуальной машины или «двойной загрузки». WSL поддерживает большинство программ командной строки, служебных программ или приложений без дополнительных изменений.

Во второй версии подсистемы Windows для Linux обновили архитектуру. Теперь подсистема может запускать исполняемые файлы Linux ELF64 — это меняет способ их взаимодействия с Windows и с оборудованием компьютера, но не отражается на пользователях.

Главное отличие WSL 2 от первой версии — полнофункциональное ядро Linux с открытым исходным кодом, которое Microsoft собрала и настроила для использования в подсистеме. Компания будет обновлять ядро вместе с Windows, так что разработчикам не придётся заниматься этим самим.

WSL 2 также использует технологию виртуализации, но она работает в фоновом режиме и остаётся управляемой. В отличие обычной виртуальной машины, подсистема Windows для Linux не замедляется при загрузке, не изолируется, не потребляет много ресурсов и не требует времени для настройки.

Команды для работы с большими объёмами файлов вроде git clone, npm instal, apt update и не только выполняются быстрее, чем раньше. Фактический прирост будет зависеть от конкретного приложения и взаимодействия с файловой системой — первые версии WSL 2 работают в 20 раз быстрее WSL 1 при распаковке архива tarball и в 2–5 раз быстрее при команде git clone и npm install.

WSL 2 совместим с системными вызовами — это позволяет исполняемым файлам Linux обращаться к файловой системе, памяти, создавать процессы и не только. Прошлая версия подсистемы использовала команды совместимости, поэтому это было невозможно. За счёт этого стал возможен запуск новых приложений, например одного из самых популярных инструментов для разработчиков Docker.

Платформа для игровой разработки под Windows, которую опубликовали на GitHub

Вместе с Windows 11 выпустили Game Development Kit — набор инструментов для разработчиков, который позволяет создавать игры для ПК. Он состоит из основных инструментов, библиотек и документации для игровой разработки, которые уже используют тысячи инженеров по всему миру.

Раньше GDK были доступны только крупным студиям по разработке. Теперь платформу опубликовали бесплатно на GitHub — любой желающий может использовать те же инструменты, которые применяют команды разработки Xbox Game Studios.

Одна из ключевых доступных в GDK технологий — AMD Fidelity FX Super Resolution. Она использует передовые технологии по увеличению разрешения, чтобы повысить фреймрейт в избранных играх.

Microsoft называет Windows 11 лучшей Windows для игр. Новая версия системы поддерживает технологии, которые раньше были доступны только на консолях, — DirectStorage и AutoHDR. DirectStorage до сих пор была только в Xbox Series X/S: технология позволяет значительно ускорить загрузки и работать с более детализированным окружением в играх. Для этого пользователям понадобится диск NVMe SSD с интерфейсом PCIe 3.0, а также видеокарта с поддержкой DirectX 12 и Shader Model 6.0.

AutoHDR автоматически усовершенствует картинку в играх с поддержкой Direct X 11. Технология добавляет динамический диапазон света и цвета даже в играх без HDR, делая картинку более контрастной и натуральной.

Пользователи также могут играть с поддержкой пространственного аудио, а разработчики — использовать технологии для более погружающего опыта. Microsoft добавила поддержку Dolby Atmos, DTSX и Windows Sonic — разных стандартов объёмного звука — ещё в Windows 10, но технология работает и в новой ОС.

0
118 комментариев
Написать комментарий...
Ivan

Мне кажется, win мигрирует в *nix ?

Плавно решили... пока через совместимость...

Ответить
Развернуть ветку
Max B

Не думаю. Кабы не Docker, они бы и этого не стали делать.

Ответить
Развернуть ветку
Ivan

winmobile OS умерла.
ubuntu mint mac и тп занимают долю рынка все больше.

Платить за винду где все сидят только в браузерах - нет смысла.
Если еще ubuntu and etc подтянут под геймеров, то точно 10-11 не нужна будет.
Обычному пользователю хватает браузера для всего + офис облачный и сотового. покупать винду - если только под спец софт или игры сейчас.

Ранее нужны были the bat, photoshop, office, winamp, rar, pdf, CD/DVD , антивирусы..

Сейчас ничего не стоит кроме браузера и игр (обычный пользователь).
Офисному - все в crm + terminal.

PS: видимо для миграции еще SDK и обновляют... + PWA.

Ответить
Развернуть ветку
Askar Samanchiev

Линукс научился в принтеры? Лет десять, восемь и пять назад именно из-за того, что не смог завести принтер возвращался на шинду.

Ответить
Развернуть ветку
Max B

Вообще-то, от самих принтеров зависит. На моей памяти linux + CUPS + [Samba, если нужно] с мощными HP или Kyocera становились неубиваемыми решениями в качестве корпорац-принт-серверов и серверов автоматической печати.
А вот с Самсунгами, действительно, проблемы были. На малых объемах печати по несколько листов могли печатать хорошо, но увесистый PDF-документ мог снести им крышу. Там какая-то беда с конвертацией PostScript в SPL была. В виндус, кстати, тоже проявлялось, но там задание просто застревало в спулере, не доходило до принтера и легко убивалось. В линукс-же принтер начинал печатать "зябликов" на сотнях листов.

Ответить
Развернуть ветку
Serge Bo

Какое-то совсем красноглазое решение.
А просто подключить и начать печатать – так можно?

Ответить
Развернуть ветку
Max B

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

Ответить
Развернуть ветку
Rnatery

Как само печаталось?

Ответить
Развернуть ветку
Max B

"Само" - это автоматическая печать или печать без взаимодействия "пользователь-принтер". Вот некоторые сценарии:

1. 2000-е. Сотрудники компании принимают заказы (тогда преимущественно по телефону), регистрируют их в системе, распечатывают пакеты документов и в конце дня относят на склад. Склад собирает заказы ночью, утром их грузят и развозят. Иногда склад мог бы начать сборку раньше, но заказы еще не принесли. Иногда часть заказов теряется, основная причина - забыли распечатать... Решение: по заказам по мере регистрации в системе формируются файлы-задания, внутри полный пакет документов: от сборочного листа до бухгалтерских документов. Затем они автоматически отправляются на сетевой принтер на складе.
2. Производство. Относительно "грязный" участок. Часть процессов сопровождается некоторой технологической картой, этаким "бланком-бегунком" на котором расписаны технологические фазы, и куда сотрудниками вписываются показатели и временные отметки... В общем, вываливаются они сами из принтера, их берут и по ним работают.
3. Пользователи одного из отделов работают с двумя форматами A4 (основной) и A3 (реже). Естественно, их постоянно путают и отправляют не на те принтеры. Решение: на общем сетевом ресурсе создается папка и пишется программа, которая, учитывая специфику отдела, достает оттуда файлы, распознает формат и отправляет их на правильные устройства. Пользователи просто кладут PDF-ки в папку, они автоматически распечатываются.

Ответить
Развернуть ветку
Rnatery

во втором случае при каком условии печатается?

Ответить
Развернуть ветку
Max B

Также автоматически. Если для этого участка в системе появляется производственная задача (часть общего производства), то разновидность формы техкарты определяется по задаче. Часть полей в ней заполняется деталями заказа, и поехали на печать.

Ответить
Развернуть ветку
Дмитрий Гладышев

Три года назад перешли на линукс. Более 100 машинок. МФУ Kyocera, HP и Lexmark по USB работают прекрасно. А если воткнуть их в сеть, то они вообще автоматически определяются абсолютно на всех компьютерах в сети. Единственное, что я никак не смог запустить - это Canon.

Ответить
Развернуть ветку
115 комментариев
Раскрывать всегда