Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Рекомендации, приведенные в этой статье, помогают создавать большие приложения Windows, которые достигают и радуют около 1,5 миллиарда различных пользователей ПК по всему миру. Эта статья разделена на следующие разделы:
- Взаимодействие с пользователем. Руководство в этом разделе помогает улучшить внешний вид, удобство использования и удобство использования ваших приложений.
- Производительность и основы. Руководство в этом разделе помогает повысить производительность и использование ресурсов приложения.
- Оптимизация операционной системы или оборудования. Руководство в этом разделе поможет оптимизировать упаковку и распределение для различных конфигураций оборудования.
- Обнаружение приложений и управление ими. Руководство в этом разделе упрощает обнаружение, установку, обновление и удаление приложения.
- Специальные возможности. Руководство в этом разделе помогает создавать доступные и инклюзивные возможности.
- Безопасность и конфиденциальность. Руководство в этом разделе помогает снизить риски безопасности и удовлетворить потребности пользователей в конфиденциальности.
Взаимодействие с пользователем
Windows 11 представляет собой визуальную эволюцию операционной системы Windows, которая улучшает внешний вид, удобство использования и удобство Windows. Исследования показывают, что у пользователей есть высокие ожидания для приложений Windows:
- Они ожидают, что приложения Windows будут работать с полным набором входных данных.
- Они ожидают, что внешний вид и возможности взаимодействия будут органичными на текущих и будущих устройствах.
- Они ожидают реализации поддержки современных рабочих процессов с использованием окон и точек интеграции с оболочкой.
Когда приложения соответствуют стилям и стандартному поведению Windows, пользователям не нужно заново изучать возможности взаимодействия. Эта согласованность упрощает использование приложения пользователями. Приложение, которое выглядит отлично, может создать большое впечатление, но приложение, которое также легко использовать и помогает пользователю достичь своих целей, создает большое длительное впечатление.
В основе Windows 11 лежат принципы проектирования Windows 11. Следуя этим рекомендациям при создании приложений, вы сможете удовлетворить ожидания ваших клиентов о большом опыте работы с приложениями. При рассмотрении возможностей включения последних и рекомендуемых шаблонов пользовательского интерфейса (UI/UX) в ваши Windows-приложения сосредоточьтесь на следующих пяти областях:
- Макет
- Взаимодействие с пользовательским интерфейсом.
- Визуальный стиль
- Поведение окон.
- Точки интеграции оболочки.
WinUI обеспечивает встроенную поддержку многих из этих интерфейсов и стилей с помощью общих элементов управления. Если вы не можете использовать WinUI, рассмотрите возможность эмулирования стилей, показанных в наших наборах средств разработки и коллекции WinUI.
Макет
Приложения Windows работают с различными конфигурациями в зависимости от потребностей пользователей. Протестируйте области и страницы приложения в различных измерениях, устройствах, размерах окна, параметрах DPI и параметрах масштабирования. Приложение должно работать ожидаемым образом даже при уменьшении размеров.
Изменение разрешения
Приложения WinUI автоматически масштабируются для каждого дисплея, на котором они отображаются. Другие технологии программирования Windows (Win32, WinForms, WPF и т. д.) не обрабатывают автоматическое масштабирование DPI для каждого монитора. Без дополнительной работы по поддержке масштабирования DPI для каждого монитора по отдельности, приложения для этих технологий могут отображаться размытыми или неправильного размера. Дополнительные сведения см. в "Разработка настольных приложений с высоким уровнем DPI в Windows".
Отзывчивый макет
Используйте методы адаптивного дизайна, чтобы оптимизировать страницы приложения для разных размеров окон. Следуйте рекомендациям по панорамированию или прокрутке, чтобы пользователи всегда могли получить доступ к вашему содержимому, независимо от того, насколько малым становится окно приложения.
Взаимодействие с пользовательским интерфейсом.
Пользователи Windows могут выбирать различные устройства ввода для взаимодействия с приложением, а Windows имеет определенные привычные для пользователей системные возможности. Если ваше приложение согласовано с такими возможностями, пользователи могут надежно использовать приложение. Если ваше приложение не соответствует этим соглашениям, пользователи могут найти его запутанным или разочарованным.
Средства управления в объекте
Используйте средства управления в объекте, такие как контекстные меню, команды прокрутки и сочетания клавиш. Windows 11 улучшает поведение контекстного меню правой кнопкой мыши, поэтому если приложение создает контекстные меню, обратитесь к последнему руководству по интеграции контекстного меню . Элементы управления текстом WinUI автоматически поддерживают команды вырезки, копирования и вставки, но для других элементов управления может потребоваться дополнительная работа для их поддержки.
Взаимодействие с текстом
Каждый раз, когда в приложении есть текст, пользователи ожидают, что они могут выбрать и скопировать его. Если текст можно редактировать, они ожидают, что его также можно вырезать и вставить. Предоставляя пользователям доступ к согласованным сочетаниям клавиш, вы упрощаете им выполнение задач. Убедитесь, что пользователи могут выполнять эти действия с помощью клавиатуры, мыши или трекпада, сенсорного ввода и пера.
Сдвиг и прокрутка
Это редкость для пользовательского интерфейса приложения, который полностью помещается на одну страницу без необходимости прокрутки. Даже если есть только несколько элементов пользовательского интерфейса, пользователи могут свободно изменять размер окна приложения и вызывать скрытие некоторых элементов пользовательского интерфейса. Убедитесь, что пользовательский интерфейс приложения правильно поддерживает прокрутку и сдвиг (с помощью клавиатуры, мыши или трекпада, сенсорного ввода и пера), чтобы пользователи могли получать доступ к любым элементам пользовательского интерфейса, которые могут перемещаться из видимой области окна.
Визуальный стиль
В основе Windows 11 лежат принципы проектирования Windows 11: легкость, спокойствие, личный подход, привычность, комплексность и согласованность. Интерфейсы, которые следуют этим принципам, позволяют использовать отличные возможности пользователей в Windows.
Материалы: Acrylic и Mica
Acrylic и Mica — это визуальные материалы, которые придают интерактивным элементам пользовательского интерфейса особый визуальный стиль.
- Используйте Акрил для применения полупрозрачного стиля к временным поверхностям, таким как контекстное меню, всплывающие элементы и другие элементы, которые пользователи могут закрыть.
- Используйте Mica, чтобы добавить тонкий адаптивный оттенок к долго живущим поверхностям пользовательского интерфейса.
Mica — это очень производительный материал, который предназначен для использования на длительно отображаемых поверхностях пользовательского интерфейса, таких как заголовок окна, для передачи активного или неактивного состояния приложения. Mica — это текстура, которая создает визуальное наслаждение, экономя заряд аккумулятора.
- Материал Mica должен использоваться на базовом уровне пользовательского интерфейса приложения для передачи информации об активном состоянии приложения; когда приложение не в фокусе, материал автоматически изменяется на сплошной цвет. Поэтому мы рекомендуем использовать Mica в качестве фона панели заголовка.
- Некоторые элементы управления, например NavigationView, уже созданы с поведением по умолчанию.
- Если приложение, использующее Mica, работает в Windows 10 или ниже, его производительность будет постепенно снижаться (Mica вернется к сплошному цвету).
- Мика используется на долговечных поверхностях, в отличие от акрила, который используется на временных поверхностях.
- Если вы используете акриловый материал, ознакомьтесь с имеющимся руководством по этому материалу, так как мы обновили цвета, чтобы они были более насыщенными.
Руководство по Mica, Руководство по акрилу
Темные и светлые темы
Темные и светлые темы позволяют пользователям адаптировать приложение к своим визуальным предпочтениям. В Windows 11 обновляются цветовые тона, чтобы сделать их более мягкими и не применять чистые белый и черный цвета, повышая привлекательность.
WinUI поддерживает переключение между темными и светлыми темами по умолчанию (см. статью Ресурсы темы XAML). При использовании приложений Win32 см. статью Поддержка темных и светлых тем в приложениях Win32. (Строка заголовка в приложениях Win32 не автоматически адаптируется к темной теме. Обязательно следуйте указаниям в строке заголовка статьи).
Обновленные элементы пользовательского интерфейса
Windows 11 привносит прекрасные нововведения пользовательского интерфейса в операционную систему Windows, которые можно использовать в приложениях. Геометрия Windows 11 поддерживает современные возможности приложений. Плавно скругленные углы, вложенные элементы и согласованные поля создают спокойный и привлекательный внешний вид, подчеркивающий единство задач и простоты использования.
Визуальные и поведенческие изменения встроены в WinUI. Используйте WinUI, где можно воспользоваться преимуществами работы, которую уже сделала команда разработчиков Windows. Если вы не можете использовать WinUI, рассмотрите возможность эмулирования стилей, показанных в наборах средств разработки и коллекции WinUI.
Общие элементы управления — это один из способов немедленного использования этих обновлений. Используйте новейшие общие элементы управления, когда это возможно, чтобы бесплатно воспользоваться преимуществами совместимости и специальных возможностей. Эти общие элементы управления являются более экономичными, чем создание собственных настраиваемых элементов управления, если учесть затраты на обслуживание и тестирование.
Расширения контекстного меню и целевые объекты общего доступа
Контекстное меню — это меню, которое пользователь вызывает щелчком правой кнопки мыши или нажатием и удерживанием, чтобы отобразить меню команд, относящихся к контексту элемента управления, с которым взаимодействует пользователь. Пользователи ожидают, что внешний вид и поведение контекстных меню будут согласованы в Windows. По возможности используйте контекстные меню, предоставляемые платформой, чтобы обеспечить их согласованность с в рамках системы.
Windows 11 совершенствует поведение контекстных операций с файлами в меню проводника, вызываемом правой кнопкой мыши, и в окне обмена. Если приложение создает контекстные меню или определяет получателя данных, может потребоваться внести некоторые изменения, чтобы обеспечить слаженную работу с Windows 11.
Контекстные меню
В Windows 11 мы улучшили поведение контекстного меню в проводнике несколькими указанными ниже способами.
- Общие команды, такие как Вырезать, Копировать, Вставить и Удалить, были перемещены в верхнюю часть меню.
- Команды Открыть и Открыть с помощью теперь сгруппированы вместе.
- Расширения приложений сгруппированы под командами оболочки. Приложения с более чем одним глаголом сгруппированы в выпадающем меню с указанием приложения.
- Приложения поставщика облачных файлов размещаются рядом с командами оболочки для гидратации или дегидратации файлов.
- Старое контекстное меню из Windows 10 (а также менее используемые команды из старого контекстного меню) по-прежнему доступно через элемент Показать дополнительные параметры в нижней части меню. Клавиши Shift + F10 или клавиша меню клавиатуры также загружают контекстное меню Windows 10.
Если приложение определяет расширение контекстного меню, для отображения расширения в новом контекстном меню Windows 11 должны соблюдаться указанные ниже требования. В противном случае расширение контекстного меню приложения появится в более старом контекстном меню, доступном через элемент Показать дополнительные параметры.
- Расширение контекстного меню должно быть реализовано с помощью интерфейса IExplorerCommand. Расширения контекстного меню, реализующие IContextMenu, будут отображаться в старом контекстном меню.
- Приложение должно быть упакованным приложением, чтобы оно имело идентификатор пакета во время выполнения. Ознакомьтесь с функциями, для которых требуется идентификатор пакета, для некоторых вариантов упаковки вашего приложения.
Окно обмена файлами
В Windows 11 улучшено поведение окна обмена файлами несколькими способами.
- Параметры обнаружения для обмена с устройствами поблизости теперь находятся в верхней части диалогового окна, а в нижней части доступны дополнительные параметры.
- Теперь все приложения могут участвовать в диалоговом окне «Общий доступ» в качестве целей, включая неупакованные настольные приложения и PWA-приложения, установленные через Microsoft Edge.
- Ранее неупакованное настольное приложение может участвовать в качестве цели в диалоговом окне "Общий доступ", если вы упакуете его с внешним расположением (см раздел "Предоставить удостоверение пакета путем упаковки с внешним расположением"). Пример кода, демонстрирующий это, можно найти в примере приложения SparsePackages.
- PWA может участвовать в диалоговом окне общего доступа, если оно реализует API целевого объекта общего доступа в сети.
Значки и шрифты
В Windows 11 обновлены значки (Segoe Fluent Icons), улучшена поддержка анимированных значков и включен новый шрифт пользовательского интерфейса (Segoe UI Variable). Используйте эти новые значки и шрифты, когда это возможно, для последовательности в Windows 11. Новый шрифт обеспечивает более мягкую геометрию и делает текст более разборчивым.
- Представлены новые значки, называемые Segoe Fluent Icons, для монотонных иконок. Элементы управления в WinUI 2.6 и более поздней версии используют новые значки и шрифтовое оформление.
- Значки типа файлов обновлены. Если в приложении используются значки в
imageres.dllилиshell32.dll, то значки будут обновлены автоматически. В противном случае может потребоваться обновление стиля вручную. - Значки приложений. Следуйте последним рекомендациям по значкам в приложениях Windows , используемых в таких местах, как средства запуска на начальной панели и панели задач.
- Анимированные значки. В WinUI была добавлена поддержка анимации Lottie, и поэтому мы рекомендуем использовать функцию AnimatedIcon для эффективной анимации значков. Как и в случае с другими стилистическими изменениями, вам понадобится WinUI 2.6 или более поздней версии.
- Пользовательские интерфейсы, написанные на языке XAML, которые указывают
Segoe UIв коде, должны вместо этого указыватьSegoe UI Variable.
Замечание
Если приложение, использующее новый шрифт, запускается в Windows 10 или более ранних версиях, оно вернется к использованию старого шрифта, плавно понижая качество отображения.
Поведение и стиль окон
Приложения выполняются в кадре, который предоставляет Windows. Пользователи ожидают, что встроенный вид и поведение Windows будут согласованы в окнах приложений. Чтобы убедиться, что ваше приложение выглядит и функционирует так, как ожидают пользователи на Windows 11, рекомендуется поддерживать перечисленные здесь функции.
Заголовок окна и кнопки окна
Пользователи взаимодействуют с строкой заголовка и кнопками управления (свернуть, развернуть, закрыть), чтобы изменить размер, переместить и закрыть окна приложений. Согласованный интерфейс помогает пользователям плавно использовать приложение. Сведения о проектировании заголовка окна и кнопок окна для Windows см. в статье Заголовок окна.
Вы можете использовать интерфейсы API пакета SDK для приложений Windows для интеграции содержимого приложения с заголовком окна в приложениях WinUI 3, .NET, WinForms и WPF.
Макет прикрепления
Снэп окон значительно улучшен в Windows 11, а новое меню "Раскладка оснастки" помогает пользователям легче находить и использовать функции снэпа окон. Используйте меню "Макет прикрепления", чтобы протестировать свое приложение с разными макетами прикрепления и убедиться, что оно поддерживает разные размеры прикрепления (1/2, 1/3, 1/4 экрана).
Макеты Snap можно легко открыть, наведя указатель мыши на кнопку максимизации окна или нажав клавиши Win + Z. После вызова меню, отображающего доступные макеты, пользователи могут щелкнуть определенную зону в макете, чтобы прикрепить к ней окно, а затем с помощью Snap Assist завершить формирование полного макета окон. Макеты расположения адаптируются к текущему размеру и ориентации экрана, включая поддержку трех окон рядом на больших экранах с альбомной ориентацией и окон, расположенных друг над другом, на экранах с книжной ориентацией.
Большинство приложений автоматически поддерживают меню с макетами привязок, но в некоторых случаях вам может потребоваться приложить небольшие усилия, чтобы их получить.
- Позвольте системе нарисовать границу и тень.
- Если вам нужно нарисовать собственную границу и тень:
- Используйте наши API для отрисовки и реализации кнопок заголовков на платформе. См. статью Поддержка макетов привязки для настольных приложений на Windows 11.
Эти функции будут автоматически отображаться при использовании окна пакета SDK для приложений Windows:
- настроить стиль окна с помощью предварительно определенных шаблонов;
- Настройте строку заголовка ваших окон.
Скругленные углы
Мы округлили углы границ окон в Windows 11. Наша группа исследования пользователей обнаружила, что скругленные геометрические формы создают чувство безопасности и значительно упрощают сканирование пользовательского интерфейса приложения. Это заставляет пользователей чувствовать себя более комфортно, а приложение становится более привлекательным. Величина округления также была тщательно выбрана. Мы провели исследования в рамках компании, а также исследование мнения пользователей, чтобы найти баланс между чувством профессионализма, мягкостью и привлекательностью.
В большинстве случаев окно приложения имеет округленные углы по умолчанию в Windows 11. Если вы настроили окно приложения и не имеете округленных углов, см. статью "Применение округленных углов в классических приложениях для Windows 11", вот несколько вещей, которые вы можете сделать. Вам также следует избегать настройки теней и границ окна, что может помешать системе скруглять углы окна.
Точки интеграции оболочки.
Интеграция оболочки Windows позволяет пользователям извлекать пользу из вашего приложения, даже если оно не работает на переднем плане или не отображается на экране. Когда приложение хорошо интегрируется с Windows, оно становится частью рабочего процесса пользователя с другими приложениями и помогает создать простой интерфейс.
Всплывающие уведомления
Всплывающие уведомления — это уведомления Windows, которые появляются в нижней части экрана пользователя и в Центре уведомлений.
- Персонализация, выполнение действий и обеспечение полезности уведомлений для пользователей. Предоставьте пользователям то, что они хотят, а не то, что вы хотите знать.
- Избегайте шумных уведомлений. Чрезмерное количество прерываний от вашего приложения приводит к тому, что пользователи отключают этот важный канал связи вашего приложения.
- Реагируйте на намерения пользователя. При выборе уведомления ваше приложение должно запускаться в контексте уведомления. Единственным исключением из этого правила является случай, когда пользователь выбирает кнопку в вашем уведомлении с прикреплением к фоновой задаче, например для быстрого ответа.
- Обеспечьте согласованную работу Центра уведомлений. Поддерживайте порядок в Центре уведомлений, удаляя старые уведомления.
Дополнительные сведения о всплывающих уведомлениях см. в статье Основы проектирования уведомлений.
Производительность и основы функционирования
Пользователи Windows ожидают, что приложения Windows будут демонстрировать высокую производительность и оптимальные базовые показатели. При разработке и создании приложения следует учитывать оптимизацию использования памяти, потребления энергии, реагирования, надежности и влияния на долгосрочное устойчивость. Выделение времени для тестирования и измерения основ и производительности вашего приложения гарантирует пользователям первоклассный опыт использования.
Следуя рекомендациям в этом разделе, вы сможете удовлетворить ожидания клиентов в этих критериях.
Минимизируйте использование памяти приложения::
- Уменьшите приоритетное использование памяти.
- Минимизируйте фоновую работу.
- Высвобождайте ресурсы в фоновом режиме.
- Убедитесь, что ваше приложение не допускает утечек памяти.
Эффективно используйте место на диске:
- Предоставляйте дополнительные возможности только при необходимости (модель pay-for-play).
- Убедитесь, что все кэши имеют эффективный размер.
- Реализуйте новые возможности, придерживаясь подхода с эффективным использованием диска.
- По возможности оптимизируйте размер отдельных двоичных файлов.
Оптимизируйте потребление энергии и время работы батареи, минимизируя фоновую работу:
- Не активируйте ЦП и не используйте системные ресурсы в фоновом режиме.
Повышение скорости реагирования при запуске и ключевых взаимодействиях приложения:
- Определите ключевые сценарии взаимодействия и добавьте события ETW для измерения.
- Установите цели на основе класса взаимодействия, связанного с ожиданиями пользователя.
Дополнительные сведения см. в обзоре производительности и основных принципов. В этой статье приводятся ответы на такие вопросы, как "Что такое производительность приложения и почему это важно?" и "Какие средства можно использовать для измерения производительности приложений Windows?" Он также связывается с примерами, связанными блогами, сообществами поддержки и информацией о том, как инженерия производительности пересекается с устойчивостью, уменьшая влияние вашего приложения на нашу планету.
Оптимизация операционной системы и оборудования
Вы можете создавать, упаковывать и доставлять приложения Windows различными способами. Рекомендации в этом разделе помогут оптимизировать эти аспекты приложения в конфигурациях оборудования.
Пользователи запускают Windows на обычных устройствах, а также на все более разнообразных современных устройствах. Устройства сегодня доступны не только на архитектурах x86/x64, но и на архитектурах Arm; не только с мышью и клавиатурой, но и с сенсорными экранами, сенсорными панелями и стилусами; с камерами, GPS и датчиками, такими как гироскопы; и с графическими и нейронными процессорами, которые позволяют не только удивительным визуальным эффектам, но и аппаратно-ускоренному искусственному интеллекту (ИИ). Клиенты ожидают, что приложения будут использовать преимущества оборудования (за которое они заплатили!) и учитывать форм-фактор устройства, чтобы обеспечить надлежащую оптимизацию.
- Поддерживать различные входные данные и взаимодействия — Обзор входных данных и взаимодействий
- Повысьте производительность на основе ИИ с помощью Win ML — Введение в машинное обучение Windows.
- Используйте модели искусственного интеллекта, которые выполняются локально и приводят в действие Microsoft Foundry в функциях Windows на компьютерах Copilot+ — что такое Windows ML?.
- Используйте различные функции, поддерживаемые API ИИ Windows, в моделях пакета SDK для приложений Windows и машинного обучения, которые выполняются локально на компьютерах Copilot+ — что такое API ИИ Windows?.
Подключение приложений MSIX к Виртуальному рабочему столу Azure
Чтобы сделать приложение лучшим в корпоративной среде, добавьте поддержку подключения приложений MSIX.
Подключение приложений MSIX — это способ доставки приложений MSIX как физическим компьютерам, так и виртуальным машинам. Эта возможность создана специально для Виртуального рабочего стола Azure (AVD) — службы виртуализации рабочих столов и приложений, работающей в облаке. Использование подключения приложений MSIX к AVD позволяет сократить время входа пользователей и снизить затраты на инфраструктуру для вашего предприятия.
Windows на архитектуре ARM
Windows может работать на устройствах ARM. Компьютеры ARM выигрывают от увеличенного времени автономной работы, а также встроенной поддержки мобильных сетей передачи данных. Эти компьютеры также обеспечивают отличную совместимость приложений и позволяют запускать существующие приложения x86 и x64 без изменений.
Для обеспечения оптимальной производительности приложений используйте возможности энергоэффективной архитектуры процессоров Arm, создав полную версию приложения для Arm или оптимизировав те части кода, которые наиболее эффективно используют производительность. Дополнительные сведения об этих методах см. в статье Windows on Arm и Arm64EC для приложений Windows 11 в Arm.
Push-уведомления
Push-уведомления позволяют отправлять данные из облачной службы в приложение в оптимизированном для производительности способе. К push-уведомлениям относятся необработанные уведомления, уведомления на значках и всплывающие уведомления, отправленные из вашей облачной службы.
- Используйте push-уведомления, чтобы проснуть приложение или клиент, а не всегда поддерживать его работу для оптимизации производительности на устройстве пользователя.
- Не используйте каналы уведомлений для отправки объявлений.
- Соблюдение
retry-afterзаголовков — эта практика защищает службу и гарантирует успешную доставку уведомлений. - Удалите истекшие или отозванные каналы из системы. Служба уведомлений Windows (WNS) не обрабатывает запросы на просроченные или отозванные каналы.
- Предотвращайте появление внезапных и больших всплесков запросов к WNS. Этот шаблон может привести к ограничению ответов.
- Используйте заголовок
MS-CV. Этот заголовок помогает обеспечить сквозную прослеживаемость и диагностику. - Реализуйте дополнительный механизм на случай неработающих уведомлений.
- Используйте Центры уведомлений Azure (ANH). ANH предоставляют доступ к функциям взаимодействия, таким как нацеливание на аудиторию, планирование уведомлений и уведомления о трансляции. Если вы являетесь разработчиком только для Windows сегодня, используя ANH, вы упрощаете переход инфраструктуры уведомлений на другие платформы в будущем.
Обнаружение приложений и управление ими
Надежные возможности установки, обновления и удаления являются важными компонентами согласованного и высококачественного взаимодействия с пользователем. Следующие рекомендации помогут убедиться, что приложение оставляет хорошее впечатление, когда пользователи обнаруживают и управляют им:
Обнаружение приложений
- Перечисление приложения в Microsoft Store делает приложение более обнаруживаемым для пользователей.
- Если приложение размещается в нескольких каналах (например, на веб-сайте и в Microsoft Store), используйте согласованный механизм идентификации приложения и обновления для всех каналов.
- Распространите свое приложение с помощью Microsoft Store, чтобы сделать его более обнаруживаемым для пользователей. Обратите внимание, что пользователи Windows получают доступ к приложениям Магазина через WinGet диспетчера пакетов Windows. Если вы не публикуете приложение в Microsoft Store, вы все равно можете сделать его легко обнаруживаемым в WinGet через репозиторий WinGet.
Установка и удаление
- Включите поддержку установки для каждого пользователя. Эта поддержка позволяет пользователям устанавливать более легко и избегать запросов UAC.
- Убедитесь, что при установке приложения не возникают ошибки и что это операция является прозрачной и продуманной в отношении управления файлами. После установки приложения не должны оставаться никакие временные файлы.
- По возможности не требуйте повышенных разрешений для установки и перезагрузки операционной системы.
- Включите поддержку автоматической установки. Эта поддержка важна для управления приложениями в корпоративных средах.
- Убедитесь, что ваше приложение отображается в списке >
- Рассмотрите возможность использования MSIX, чтобы обеспечить беспрепятственную установку, обновление и удаление для пользователей. MSIX автоматически удаляет двоичные файлы и данные приложения. Сведения о том, как упакованные приложения обрабатывают файлы и записи реестра, см. в статье Общие сведения о том, как упакованные классические приложения работают в Windows.
- Для распакованных приложений убедитесь, что пользователи могут легко удалить приложение с помощью списка ">Установленные приложения" в разделе "Параметры". При удалении приложения убедитесь, что записи меню "Пуск", файлы, каталоги, записи реестра и временные файлы также удаляются. Рекомендуется предоставить пользователям возможность сохранить свои данные при удалении приложения.
- Убедитесь, что при удалении приложения удаляются все двоичные файлы и данные приложения. Содержимое, созданное пользователем, должно храниться в таких расположениях, как
Documents, которые пользователи могут сохранять даже после удаления приложения. - Избегайте установки или обновления двоичных файлов системы, которые могут потребовать перезагрузки.
- Включите интеграцию с RestartManager для сохранения и восстановления состояния между обновлениями ОС.
Обновления
- Поддержка механизма обновления, позволяющего приложению перезапускаться, когда это удобно для пользователя. Рекомендуется использовать API перезапуска Windows App SDK для управления поведением приложений WinUI 3.
- Убедитесь, что механизм обновления скачивает только важные измененные компоненты, которые необходимо обновить. Этот подход сводит к минимуму необходимую пропускную способность сети.
- Укажите способ обновления и восстановления приложения. Рекомендуется использовать MSIX для автоматической обработки восстановления обновлений. Дополнительные сведения см. в статье Автоматическое обновление и восстановление приложений.
- Рекомендуется включить возможность обновления на основе push-уведомлений или проверку наличия доступных обновлений при запуске или перезапуске приложения.
Дополнительные ресурсы
Специальные возможности
Доступные приложения Windows поддерживают расширенные и инклюзивные интерфейсы для максимально возможного количества людей. Инклюзивное проектирование создает лучшие продукты для всех. Чтобы ваше приложение было доступным и инклюзивным, подумайте, что означает улучшенная функциональность и удобство использования в отношении:
- людей с ограниченными возможностями (временными и постоянными);
- личные предпочтения
- Конкретные стили работы
- ситуционные ограничения (например, общие рабочие пространства, вождение, готовка, блики и т. д.).
На самом деле Всемирная организация здравоохранения определяет инвалидность не как личную характеристику, а скорее как несогласованное взаимодействие между человеком и окружающим его физическим и цифровым миром.
Специальные возможности хорошо подходят как для людей, так и для бизнеса
Специальные возможности — это ответственность
Более 1 миллиарда человек во всем мире испытывают некоторую форму инвалидности. Однако только один из 10 имеет доступ к вспомогательной технологии, необходимой для полного участия в нашей экономике и обществе. Как правило, уровень безработицы для людей с ограниченными возможностями в два раза больше, чем у людей без инвалидности. И инвалиды - будь то ситуационные, временные или постоянные - могут повлиять на любой из нас в любое время.
Специальные возможности — это возможность
В соответствии со спецификацией Microsoft Accessibility Approach Datasheet инклюзивные организации, применяющие передовые методы найма и поддержки людей с ограниченными возможностями на рабочем месте, превосходят своих коллег и добиваются большего успеха в привлечении и удержании лучших специалистов. Миллениалы, которые 75% глобальной рабочей силы, обычно выбирают работодателей, которые отражают свои ценности. Разнообразие и инклюзия — главное в этом списке.
Включение специальных возможностей
Включение специальных возможностей в приложения Windows повышает взаимодействие пользователей, повышает удовлетворенность продукта и поощряет лояльность продуктов. Упреждающее проектирование и реализация доступных возможностей обычно снижает затраты на разработку и обслуживание в долгосрочной перспективе.
Некоторые распространенные решения включают в себя предоставление сведений в альтернативных форматах (например, субтитры на видео) или разрешение использования вспомогательных технологий (таких как средства чтения с экрана).
Приложения, разработанные с учетом специальных возможностей, проще обслуживать, обновлять и изменять. Помимо того, что учет доступности помогает вашему приложению достигать людей с ограниченными возможностями, он может снизить расходы на обслуживание вашего приложения.
Подробные инструкции по созданию доступных приложений Windows см. в статье " Специальные возможности" в Windows.
Тестирование специальных возможностей
Аналитика специальных возможностей — это мощный набор инструментов, с помощью которого разработчики могут проверить доступность своих приложений и сервисов. Используйте следующие средства для тестирования специальных возможностей:
- Проверка в Аналитике специальных возможностей для Windows. Проверьте дерево доступности, чтобы найти легкие задачи, такие как подсказки в метках, неправильные роли и другие проблемы.
- Мониторинг событий в Аналитике специальных возможностей для Windows · Аналитика специальных возможностей. Дополнительные сведения о мониторинге событий см. в статье Поддержка типов элементов управления службы автоматизации пользовательского интерфейса.
- Запускайте автоматические проверки Аналитики специальных возможностей в своих PR или CI/CD. Дополнительные сведения см. в разделе axe-pipelines-samples.
- Исправьте все обнаруженные ошибки, так как все они оказывают непосредственное влияние на доступность.
Безопасность и конфиденциальность
Небезопасное приложение может быть точкой входа, которая позволяет злоумышленнику выполнять вредоносные действия. Даже если у вашего приложения нет ошибок безопасности, плохие субъекты могут использовать свое приложение для запуска своих атак с помощью фишинга и других форм социальной инженерии, которые нарушают границы безопасности и конфиденциальности. Рекомендации в этом разделе помогут снизить риски, связанные с безопасностью и конфиденциальностью пользователей.
Расширенные функции безопасности в Windows
Windows построена на основе безопасности и конфиденциальности, и Windows 11 предназначена для того, чтобы быть самой безопасной версией Windows, и мы стремимся создавать безопасные приложения, которые используют новейшие функции безопасности в Windows.
- Защитите ваши приложения Windows и серверные службы с помощью биометрического входа Windows Hello — обзор Windows Hello .
- Реализуйте входы с помощью ключа доступа в онлайн-сервисах, корпоративных и государственных приложениях, а также для платежей — введение в ключи доступа.
- Подписывайте ваши приложения с помощью цифрового сертификата, чтобы Smart App Control мог убедиться в целостности вашего приложения - введение в подписывание кода и требования программы доверенных корневых сертификатов Microsoft.
Рекомендации по безопасности
- Следуйте рекомендациям по жизненному циклу разработки системы безопасности для всего процесса разработки.
- Моделирование угроз поможет избежать ошибок, связанны с безопасностью.
- Использование безопасных библиотек, языков и инструментов минимизирует недостатки реализации.
- Безопасные значения по умолчанию могут предотвратить проблемы безопасности, вызванные ошибкой пользователя.
- Не требуйте прав администратора для установки приложения.
- В идеале ваше приложение должно поддерживать как административные установки, так и установки для каждого пользователя.
- Использование упаковки MSIX является одним из способов достижения этой цели.
-
Не требуйте прав администратора для запуска приложения.
- Если для некоторых функций требуются права администратора, рассмотрите возможность разделения их на собственные процессы, чтобы уменьшить область атаки.
- Используйте языки с гарантированной безопасностью памяти, например C#, JavaScript или Rust, особенно для рискованных путей кода, таких как анализ ненадежных данных.
- Используйте все средства защиты, предоставляемые компилятором и набором инструментов (см. раздел, посвященный функциям безопасности в Microsoft Visual C++ для Visual C++).
- Всегда используйте предпочитаемый вами язык или стандартные библиотеки платформы для криптографии и другого кода, чувствительного к безопасности. Не пытайтесь создавать собственные.
- Используйте цифровую подпись всех компонентов вашего приложения — не только установщика, но и деинсталлятора (если он у вас есть). Также подпишите все файлы EXE, DLL и другие исполняемые файлы, из которых состоит ваше приложение.
- Цифровые подписи позволяют пользователю проверять подлинность приложения и разрешать администраторам Предприятия защищать свои устройства с помощью элемента управления приложениями Защитника Windows.
- Использование упаковки MSIX является одним из способов достижения этой цели.
- Убедитесь, что весь сетевой обмен данными осуществляется через безопасный транспорт, например SSL.
- Примените ограничения или другие меры по снижению риска, которые помогут защитить пользователей от случайного выполнения вредоносных действий, даже когда злоумышленники принуждают их к этому.
- Простое диалоговое окно с вопросом "Вы действительно хотите сделать Х?" Диалоговые окна "Да/ нет" обычно не эффективны, так как пользователи могут нажать кнопку "Да".
Большинство современных приложений собирают и используют большой объем данных, включая персональные данные. Это происходит по различным причинам. Сбор телеметрии, совершенствование продуктов и монетизация — три распространенные причины использования данных, но пользователи и регулирующие органы уделяют все больше внимания влиянию этих практик в отношении конфиденциальности. Они ожидают прозрачности и контроля над данными, собираемыми и используемыми приложениями. Используйте следующие советы, чтобы удовлетворить потребности пользователей в конфиденциальности.
Рекомендации по обеспечению конфиденциальности
Privacy Policy (Политика конфиденциальности)
Доступное и простое уведомление о конфиденциальности повышает доверие пользователей к вашему приложению. Убедитесь, что ваше приложение предоставляет точную политику конфиденциальности. В идеале предоставьте как сводный документ, написанный для случайной аудитории (ваших пользователей), так и длинную юридическую политику (написанную для ваших юристов).
Политика конфиденциальности должна:
- Сообщать пользователям о персональных данных, к которым ваш продукт получит доступ, а также которые он будет получать или отправлять.
- Как используется, хранится и защищается эта информация.
- Указывать типы сторон, которые смогут видеть эти данные.
- Описывать предоставляемые пользователям средства контроля над использованием их данных и общим доступом к ним.
- Соблюдать действующее законодательство. Ознакомьтесь с правилами конфиденциальности на рынках, где доступно ваше приложение. Убедитесь, что ваше приложение соответствует или превышает все требования к раскрытию, правам на использование, запросам на удаление и другим проблемам конфиденциальности.
- Оставайтесь в курсе последних обновлений, добавляя новые возможности и функции в ваш продукт.
Заявление о конфиденциальности корпорации Майкрософт
Сбор данных
- Соберите наименьший объем персональных данных, необходимых для завершения работы приложения.
- Не собирайте данные «на всякий случай». Имейте обоснованную причину для сбора всех данных, например, для улучшения пользовательского опыта или для содействия монетизации.
- Всегда получать согласие пользователя перед сбором и хранением персональных данных. Предоставьте пользователю простой способ вернуть свое решение в будущем. Избегайте темных шаблонов, например, делайте кнопку "Да" больше или более заметной, чем кнопка "Нет" в диалоговом окне предоставления согласия.
- Обратитесь к применимым правилам, чтобы определить, какие конкретные раскрытия и согласие требуются для указанных типов данных. Например, некоторые регионы могут разрешать пользователям просматривать, изменять или удалять сохраненные данные.
- Если необходимо передавать данные по сети, всегда используйте защищенные подключения, например подключения через TLS.
- Избегайте хранения персональных данных в централизованном расположении, например на веб-сайте. Если вам необходимо хранить личные данные, сведите к минимуму объем хранимых данных, храните их ровно столько, сколько необходимо, и обеспечьте их надежное шифрование.
- Убедитесь, что все сторонние библиотеки или пакеты SDK, которые вы используете, также имеют хорошие методики конфиденциальности. Эта проблема не ограничивается только рекламными пакетами SDK— любая библиотека, которая подключается к Интернету, может повлиять на конфиденциальность пользователей вашего приложения.
Связанные статьи
Windows developer