Разработчик microsoft windows 10

Содержание
  1. Начало разработки для Windows
  2. Разработка для конкретных устройств
  3. Компьютеры с Windows
  4. Windows 10 IoT
  5. Смешанная реальность
  6. Surface Hub
  7. Изучите разные типы приложений
  8. Интернет
  9. Enterprise
  10. Платформы и технологии
  11. Занимаетесь разработкой для более ранних версий Windows?
  12. Пакет SDK для Windows 10
  13. Начало работы
  14. Системные требования
  15. Поддерживаемые операционные системы
  16. Требования к оборудованию
  17. Дополнительные требования для этого SDK
  18. Что нового
  19. Интерфейсы API
  20. Удаление api-ms-win-net-isolation-l1-1-0.lib
  21. Удаление irprops.lib
  22. Удаление wuapicommon.h и wuapicommon.idl
  23. Пакет с новыми API-интерфейсами WinRT для Windows 10
  24. Универсальная среда выполнения C (UCRT)
  25. Инструменты
  26. Комплект сертификации приложений для Windows
  27. Компилятор сообщений (mc.exe)
  28. Windows Trace Preprocessor (tracewpp.exe)
  29. TraceLoggingProvider.h
  30. Подписывание приложений с помощью подписи Device Guard
  31. Примеры
  32. Предыдущие версии пакетов SDK
  33. Активация API-интерфейсов
  34. Заметки о выпуске и известные проблемы
  35. Почему Windows 10 становится лучшей платформой для разработчиков
  36. Смена Windows, оборудования и программного обеспечения
  37. Терминал – дорога к разработчикам
  38. Linux в Windows
  39. Воспользуйтесь скриптом для установки инструментов с помощью Winget
  40. Добавление удобных для разработчиков настроек и функций в Windows

Начало разработки для Windows

Создавайте возможности с доступом для пользователей на любом устройстве.

Разработка для конкретных устройств

Компьютеры с Windows

Создавайте классические приложения, предназначенные для компьютеров под управлением Windows, с помощью различных платформ, включая универсальную платформу Windows (UWP), .NET и Windows API (Win32).

Windows 10 IoT

Используйте Интернет вещей для реализации широких возможностей приложений.

Смешанная реальность

Привлекайте пользователей с помощью Microsoft HoloLens и иммерсивных гарнитур.

Разрабатывайте игры и приложения UWP для многомиллионной аудитории игроков Xbox One по всему миру.

Surface Hub

Создавайте решения для Microsoft Surface Hub, с помощью которых множество пользователей смогут легко работать вместе.

Изучите разные типы приложений

Интернет

Создавайте прогрессивные веб-приложения, расширения для браузера Microsoft Edge, современные веб-приложения на основе ASP.NET и др.

Enterprise

Перенесите свои классические и веб-приложения в Windows 10 и воспользуйтесь функциями безопасности и развертывания корпоративного уровня.

Создавайте игры для Xbox One, компьютеров и других платформ и их многомиллионной аудитории игроков.

Платформы и технологии

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

Занимаетесь разработкой для более ранних версий Windows?

Ознакомьтесь с нашим архивом документов для Windows 8.x, Windows 7, Windows Phone и других предыдущих версий Windows.

Пакет SDK для Windows 10

В состав пакета SDK для Windows 10 (10.0.19041.0) версии 2004 входят новейшие заголовки, библиотеки, метаданные и средства для создания приложений для Windows 10.

Этот пакет SDK поможет вам в создании приложений универсальной платформы Windows (UWP), а также приложений Win32 для Windows 10 версии 20H2 и для предыдущих выпусков Windows.

Windows 10 версии 20H2 — это ограниченный набор функций для отдельных улучшений производительности и повышения качества. Разработчики должны знать об этом выпуске, но пока никаких действий не требуется.

Новый пакет Windows SDK для этой версии Windows выпущен не будет, так как в этом выпуске не вводятся новые API. Это означает, что нет необходимости вносить изменения в файлы проекта или задавать новую целевую версию Windows. Продолжайте использовать пакет Windows 10 SDK для Windows 10 (версия 2004). При указании целевой версии для приложения Windows версия Windows 10 (сборка 19041) по-прежнему является последней целевой версией.

Начало работы

Получить пакет SDK для Windows 10 можно двумя способами: установить с этой страницы, щелкнув ссылку для скачивания, или выбрать эту версию пакета SDK для Windows 10 (10.0.19041.0) в дополнительных компонентах установщика Visual Studio 2019.

Перед установкой этого пакета SDK:

Системные требования

Минимальные системные требования этого пакета Windows SDK:

Поддерживаемые операционные системы

  • Разработка приложений универсальной платформы Windows (UWP)
    • Windows 10 1507 или более поздней версии: Домашняя, Профессиональная, для образовательных учреждений и Корпоративная (выпуски LTSB и S не поддерживаются)
    • Windows Server 2019, Windows Server 2016 и Windows Server 2012 R2 (только для командной строки)
  • Разработка приложений Win32
    • Windows 10 версии 1507 или более поздняя версия
    • Windows Server 2019, Windows Server 2016 и Windows Server 2012 R2 (только для командной строки);
    • Windows 8.1
    • Windows 7 с пакетом обновления 1 (SP1)

(Не все средства поддерживаются в среде операционных систем более ранних версий)

Требования к оборудованию

  • Процессор с частотой 1,6 ГГц или более мощный
  • 1 ГБ памяти (ОЗУ)
  • 4 ГБ свободного пространства на жестком диске

Дополнительные требования для этого SDK

Для установки пакета в среде Windows 8.1 и операционных систем более ранних версий необходимо сначала установить обновление KB2999226. Чтобы выполнить установку Windows SDK через Центр обновления Windows, перед этим необходимо установить последние рекомендованные обновления и исправления из Центра обновления Майкрософт.

Что нового

В состав пакета SDK для Windows 10 версии 2004 входят новые API-интерфейсы и обновленные средства для разработки Windows-приложений. Узнайте больше о новых возможностях Windows 10 версии 2004.

Интерфейсы API

Сведения о новых API, появившихся в Windows 10 версии 2004, см. в статье о новых возможностях для разработчиков в Windows 10, сборка 19041.

Читайте также:  Рецепты администрирования windows server

Удаление api-ms-win-net-isolation-l1-1-0.lib

В этом выпуске библиотека api-ms-win-net-isolation-l1-1-0.lib удалена из пакета Windows SDK. Приложения, связанные с api-ms-win-net-isolation-l1-1-0.lib, в качестве замены можно перейти на OneCoreUAP.lib.

Удаление irprops.lib

В этом выпуске библиотека irprops.lib удалена из пакета Windows SDK. Приложения, связанные с irprops.lib, в качестве замены можно перейти на OneCoreUAP.lib.

Удаление wuapicommon.h и wuapicommon.idl

В этом выпуске мы переместили ENUM tagServerSelection из wuapicommon.h в wupai.h и удалили заголовок. Если вы хотите использовать ENUM tagServerSelection, необходимо включить wuapi.h или wuapi.idl.

Пакет с новыми API-интерфейсами WinRT для Windows 10

Пакет API-интерфейсов WinRT для Windows 10 позволяет добавить поддержку новейших API среды выполнения Windows в библиотеки и приложения .NET Framework 4.5 или .NET Core 3.0 и более поздние версии этих платформ. Пакет API-интерфейсов WinRT для Windows 10 доступен здесь: пакет NuGet Microsoft.Windows.SDK.Contracts.

Универсальная среда выполнения C (UCRT)

Семейство функций printf теперь соответствует правилам округления IEEE 754 при печати точно представляемых чисел с плавающей запятой и учитывает режим округления, запрошенный посредством вызовов к fesetround. Поведение прежних версий доступно при связывании с legacy_stdio_float_rounding.obj.

Инструменты

Комплект сертификации приложений для Windows

В этом выпуске Windows SDK добавлено несколько поддерживаемых API-интерфейсов в комплекте сертификации приложений для Windows и Microsoft Store. Если в списке поддерживаемых есть неактивные или отключенные в Visual Studio интерфейсы API, для доступа к ним можно внести небольшое изменение в исходный файл. Дополнительные сведения см. в описании этой известной проблемы.

Помимо добавления API, в тесты были внесены указанные ниже изменения.

Обновленные тесты:

  • ValidateContentUriRules будет выполнять только информационную функцию. О сбоях тестов будет сообщаться в предупреждениях.

Удаленные тесты:

  • тест доступа WinRT WebView для веб-приложения;
  • тест PackageSizeCheck для приложений UWP;
  • тест SupportedApi для приложений моста для классических приложений;
  • тест AppContainerCheck из BinScope для приложений UWP;
  • проверка ServiceWorker для всех типов приложений.

Новые тесты:

  • Тест High-DPI. Новый тест для приложений моста для классических приложений позволяет проверить, использует ли приложение функцию, учитывающую DPI. Если она не указана, поступает предупреждение. Этот тест позволит реализовать в приложениях учет DPI для каждого монитора. См. дополнительные сведение о разработке классических приложений с высоким DPI в Windows.

Компилятор сообщений (mc.exe)

Далее перечислены новые возможности:

  • Обнаружение метки порядка байтов Юникода (BOM) в MC-файлах. Если MC-файл начинается с BOM UTF-8, он будет читаться как файл UTF-8. Если такой файл начинается с BOM UTF-16LE, он будет читаться как файл UTF-16LE. Если указан параметр -u, файл будет читаться как файл UTF-16LE. В противном случае он будет читаться с использованием текущей кодовой страницы (CP_ACP).
  • Устранены проблемы с правилами с одним определением (ODR) во вспомогательных приложениях трассировки событий Windows C и C++ на основе MC, вызванные конфликтующими макросами конфигурации. Например, если два CPP-файла с конфликтующими определениями MCGEN_EVENTWRITETRANSFER объединены в один двоичный файл, вспомогательные приложения трассировки событий Windows на основе MC теперь будут учитывать определение MCGEN_EVENTWRITETRANSFER в каждом CPP-файле вместо произвольного выбора одного из них.

Windows Trace Preprocessor (tracewpp.exe)

Далее перечислены новые возможности:

  • Теперь поддерживаются входные файлы в кодировке Юникода (INI-файлы, TPL-файлы и исходный код). Входные файлы, начинающиеся с метки порядка байтов UTF-8 или UTF-16, будут читаться как файлы в кодировке Юникода. Входные файлы, которые не начинаются с BOM, будут читаться с использованием текущей кодовой страницы (CP_ACP). Для обеспечения обратной совместимости, если указан параметр командной строки -UnicodeIgnore, файлы, начинающиеся с BOM UTF-16, будут считаться пустыми.
  • Теперь поддерживает выходные файлы в формате Юникода (ТМH-файлы). По умолчанию выходные файлы будут кодироваться с использованием текущей кодовой страницы (CP_ACP). Чтобы создать выходные файлы в формате Юникода, воспользуйтесь параметрами командной строки -cp:UTF-8 или -cp:UTF-16.
  • Изменение поведения. Теперь tracewpp преобразует весь входной текст в Юникод, выполняет обработку в Юникоде и преобразует выходной текст в указанную выходную кодировку. В более ранних версиях tracewpp не поддерживал преобразование в Юникод, и текст обрабатывался с однобайтовой кодировкой. Это может привести к изменению поведения, если входные файлы не соответствуют текущей кодовой странице. При возникновении такой проблемы рекомендуем преобразовать входные файлы в UTF-8 (с BOM) и (или) использовать параметр командной строки -cp:UTF-8, чтобы избежать неоднозначности кодирования.

TraceLoggingProvider.h

Далее перечислены новые возможности:

  • Устранены проблемы с правилами с одним определением (ODR), вызванные конфликтующими макросами конфигурации. Например, если два CPP-файла с конфликтующими определениями TLG_EVENT_WRITE_TRANSFER объединены в один двоичный файл, вспомогательные приложения TraceLoggingProvider.h теперь будут учитывать определение TLG_EVENT_WRITE_TRANSFER в каждом CPP-файле вместо произвольного выбора одного из них.
  • В коде C++ макрос TraceLoggingWrite был обновлен, чтобы улучшить совместное использование кода похожими событиями с помощью шаблонов variadic.

Подписывание приложений с помощью подписи Device Guard

Мы упростили процедуру подписывания приложения. Подпись Device Guard – это функция Device Guard, доступная в Microsoft Store для бизнеса и образования. Подписывание позволяет компаниям гарантировать, что каждое приложение поступает из надежного источника. Наша цель — упростить подписывание пакета MSIX. См. документацию по подписыванию Device Guard.

Читайте также:  Lazesoft windows key finder

Примеры

Примеры приложений для Windows 10 теперь доступны через GitHub. Вы можете просмотреть код на веб-сайте GitHub, клонировать личную копию репозитория из Git или скачать запакованный архив со всеми примерами. Для нас очень важен ваш отзыв. Поэтому при возникновении проблемы или вопроса относительно репозитория без колебаний сообщайте нам. Эти примеры предназначены для запуска на настольном, мобильном и будущих устройствах, которые поддерживают платформу универсальных приложений для Windows (UWP).

Предыдущие версии пакетов SDK

Ранее выпущенные пакеты SDK и эмуляторы, а также сведения об обновлениях см. на странице архивов.

Активация API-интерфейсов

При использовании новых API-интерфейсов целесообразно создавать адаптивные приложения, которые смогут правильно выполняться на наибольшем количестве устройств с Windows 10. Новые функции в адаптивных приложениях «активируются», если устройство и версия Windows поддерживают их. В противном случае они предоставляют только те функциональные возможности, которые доступны в версии обнаруженной платформы. Сведения о реализации см. в статье Адаптивный к версии код.

Заметки о выпуске и известные проблемы

Пакет SDK для Windows 10 версии 2004 с обновлением функций обслуживания (выпущено 16.12.2020) для SDK содержит следующие исправления. Если вы столкнетесь с этими проблемами, рекомендуем как можно скорее обновить версию пакета SDK, чтобы избежать их:

  • Устранены непредсказуемые и трудно диагностируемые сбои при связывании как библиотек umbrella, так и собственных библиотек ОС (например, onecoreuap.lib и kernel32.lib).
  • Устранена проблема, препятствовавшая работе AppVerifier.
  • Устранена проблема, которая приводила к сбою WACK с сообщением «Задаче не удалось включить HighVersionLie».

Сведения об известных проблемах см. на странице вопросов и ответов по SDK для WinAPI.

Запросы на новые функции для разработчиков можно подавать с помощью приложения Центра отзывов в категории «Платформа разработчиков/API».

Почему Windows 10 становится лучшей платформой для разработчиков

Ещё не так давно Windows была обречена. Разработчики покупали оборудование Apple, и каждый доклад на технических конференциях освещался сотнями светящихся логотипов Apple. В этом нет ничего удивительного: под капотом macOS является производной от BSD-Unix, что позволяло разработчикам быстро устанавливать на своих ноутбуках те же наборы инструментов, что и на их серверах или в облаке. В случае отсутствия нужных приложений, разработчики могли установить виртуальную машину Parallels Desktop и запускать нужные приложения для Windows, как если бы они были частью рабочего стола macOS.

Разработчики – первопроходцы. Куда бы они ни пошли, все в конечном итоге последуют за ними. Пришло время для Windows измениться, предоставив среду, ориентированную на разработчиков, без изменения способа использования ПК всеми остальными. Это было сложной задачей для Microsoft, но компания прошла долгий путь к ее решению. Теперь разработчики снова покупают ПК, и эти светящиеся яблоки больше не доминируют в конференц-залах.

Смена Windows, оборудования и программного обеспечения

Как это произошло и, что более важно, как это произошло так быстро? Частично эта история связана с переходом Microsoft на аппаратное обеспечение при пониманием того, что сочетание аппаратного и программного обеспечения Apple было большой причиной ее успеха. Это привело к появлению линейки устройств Surface с высококачественным дисплеем формата 4:3, а также с удобными для разработчиков высококачественными устройствами Surface Book и Surface Laptop, которые поставляются с мощными процессорами и видеокартами, большим объемом памяти, а так же с отзывчивой клавиатурой.

Поскольку разработчики подолгу сидят за экранами, создание правильного оборудования было первым шагом на этом пути. Теперь Windows должна была стать лидером среди операционных систем, привлекательных для разработчиков. Так переход от Windows 8 с сенсорным управлением к гибридной среде Windows 10 стал большим стимулом для перемен. Новая операционная система сохранила функции мультитача и планшета Windows 8, но объединила их со знакомым меню и окнами Windows 7.

Хотя оборудование Surface помогло вернуть разработчиков, модель Windows 10 «Windows как услуга» с двумя выпусками в год позволила Microsoft быстрее реагировать на запросы разработчиков, чем в более ранних версиях Windows. В то же время компания начала отделять SDK и инструменты разработчиков от монолита Windows, заменяя редкие обновления более последовательным циклом выпуска и более быстрым исправлением ошибок.

Терминал – дорога к разработчикам

По большей части это связано с тем, что Microsoft давно описывает как «движение туда, где находятся разработчики». Это означало переосмысление кода, который старше Windows, рефакторинг того, как компания делает документацию, и выход за рамки традиционных ограничений и соперничества, которые ограничивали Windows одним способом работы.

Одним из ключевых достижений является разработка нового терминала – Windows Terminal. Заменив старый cmd.exe, новый терминал использует современный подход к командной строке, используя уроки, извлеченные из Linux и кроссплатформенных приложений терминалов. Windows Terminal можно установить и из магазина Microsoft Store и из репозитория GitHub. Последние сборки поддерживают многопанельные представления в окне, полноцветную поддержку, а также поддержку окон с несколькими вкладками, поэтому вы можете работать с несколькими терминалами одновременно.

Читайте также:  Allow ftp windows firewall

Новый терминал от Microsoft упрощает разработчикам работу в Windows или, например, с удаленными серверами при использовании недавно добавленной в Windows встроенной поддержки SSH для безопасных подключений (одна из первых функций Windows, которая зависит от проекта с открытым исходным кодом). Поскольку Windows Terminal поддерживает 24-битный цвет и стандартные соединения ANSI, вы можете перейти из знакомой командной строки Windows прямо к удаленной системе Linux без изменения контекста и с полной поддержкой всех функций терминала Linux.

Linux в Windows

Одновременно с запуском терминала с открытым исходным кодом Microsoft представила вторую итерацию своей подсистемы Windows для Linux (WSL 2). Первоначальный WSL 1 был разработан для обеспечения эмулируемой среды Linux с использованием набора инструментов для преобразования системных вызовов Linux в вызовы Windows, что позволяло запускать код в Windows. Идея заключалась в том, чтобы ключевые элементы цепочки инструментов Linux могли работать в Windows, что в свою очередь предоставит разработчикам возможность работать со знакомыми инструментами и тестовым кодом, не покидая своего ПК.

WSL оказался очень популярным инструментом среди разработчиков, тем более Apple поменяла способ поддержки UNIX в macOS.Сосредоточившись на облачных моделях разработки, таких как контейнеры, Microsoft превратила Windows в портал для разработчиков.

Во втором выпуске WSL использовался другой подход, основанный на низкоуровневом гипервизоре Microsoft Krypton. Являясь частью семейства Hyper-V, Krypton тесно связан с ядром Windows, что позволяет лучше распределять ресурсы между хостом и виртуализированной ОС. Krypton также используется для обеспечения безопасности на основе виртуализации в Windows 10, запускает изолированную тестовую среду Windows Sandbox и режим Application Guard в браузере Microsoft Edge.

С WSL 2 компания Microsoft теперь поставляет собственное ядро Linux и упрощает поддержку контейнеров Linux в Windows. Реализация Docker для Windows теперь основана на WSL 2, что упрощает создание и тестирование контейнеров Linux в Windows перед их развертыванием в Kubernetes в облаке. С контейнером, работающим в Windows, вы можете использовать режим удаленного редактирования Visual Studio Code для работы с кодом внутри контейнера, что дает вам бесшовную среду разработки с редактором и отладчиком внутри контейнера и графическим интерфейсом пользователя, работающим внутри Windows.

Комбинация популярного редактора и конвергентной кроссплатформенной среды разработки оказалась именно тем, чего не хватало в Windows для разработчиков. Вдохновленные линейкой устройств Surface, поставщики оборудования, такие как Dell, Lenovo и Razer, начали поставлять ориентированные на разработчиков ноутбуки, которые дополнили изменения в Windows и предоставили как индивидуальным, так и корпоративным разработчикам доступ к выбору оборудования.

Воспользуйтесь скриптом для установки инструментов с помощью Winget

Остальные изменения менее очевидны. Microsoft работает над улучшением установки приложений и инструментов с намерением предоставить скрипты для установки всего набора инструментов. Вы, конечно, можете использовать сторонний установщик, например, Chocolatey, но Microsoft экспериментирует с двумя собственными подобными инструментами.

Первый инструмент – интеграция командной строки Windows с магазином Microsoft Store. Просто введите «python», и Windows предложит установить популярный язык программирования из Microsoft Store. Добиться подобного удалось благодаря сотрудничеству между проектом Python с открытым исходным кодом и разработчиками командой командной строки Windows и магазином Microsoft Store.

Компания Microsoft сейчас разрабатывает инструмент установки, управляемый из командной строки. Winget работает с размещенным на GitHub репозиторием манифестов пакетов, которые ссылаются на загружаемые установщики. Манифест содержит подробную информацию о приложении с управлением версиями и поддержкой различных установщиков, которые поддерживают разные архитектуры процессоров.

Добавление удобных для разработчиков настроек и функций в Windows

Другие удобные для разработчиков функции появляются в надстройках, таких как набор утилит Microsoft PowerToys. С помощью PowerToys вы можете настроить опцию Fancy Zones для управления макетами экрана, добавить поддержку предварительного просмотра изображений SVG в проводнике, изменить размер изображений и настроить средство запуска приложений на основе поиска. Power Toys – это проект с открытым исходным кодом, в который регулярно добавляются новые функции – одна из последних – это список комбинаций клавиш Windows, который идеально подходит для разработчиков.

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

Оцените статью