Разработка приложений Windows — рекомендации
Рекомендации, приведенные в этом документе, помогут вам создавать отличные приложения для Windows для охвата примерно 1,5 млрд разных пользователей ПК по всему миру. Документ состоит из следующих разделов.
- Взаимодействие с пользователем. Рекомендации в этом разделе помогут вам улучшить внешний вид и повысить удобство использования ваших приложений.
- Производительность и основы. Рекомендации в этом разделе помогут вам повысить производительность вашего приложения и оптимизировать использование ресурсов.
- Оптимизация операционной системы и оборудования. Рекомендации в этом разделе помогут оптимизировать упаковку и распространение для различных конфигураций оборудования.
- Обнаружение приложений и управление ими. Рекомендации в этом разделе упрощают для пользователей обнаружение, установку, обновление и удаление приложения.
- Специальные возможности. Рекомендации в этом разделе помогут вам создать доступные и инклюзивные возможности.
- Безопасность и конфиденциальность. Рекомендации в этом разделе помогут снизить риски безопасности и удовлетворить потребности пользователей в конфиденциальности.
Взаимодействие с пользователем
Windows 11 знаменует собой визуальную эволюцию операционной системы Windows, которая привела к улучшению внешнего вида и повышению удобства использования Windows. Наши исследования показывают, что пользователи возлагают большие надежды на приложения для Windows:
- Они ожидают, что приложения Windows будут работать с полным набором входных данных.
- Они ожидают, что внешний вид и возможности взаимодействия будут органичными на текущих и будущих устройствах.
- Они ожидают реализации поддержки современных рабочих процессов с использованием окон и точек интеграции с оболочкой.
Когда приложения соответствуют стилям и стандартному поведению Windows, пользователям не нужно заново изучать возможности взаимодействия. Это значительно упрощает использование приложения пользователями. Отлично выглядящее приложение может произвести хорошее первое впечатление, но приложение, которое просто использовать и которое помогает пользователю достичь своих целей, произведет несоизмеримо более яркое впечатление.
В основе Windows 11 лежат принципы проектирования Windows 11. Следование этим рекомендациям при создании приложений поможет вам оправдать ожидания ваших клиентов в отношении отличного взаимодействия. Если вы хотите реализовать последние и рекомендуемые шаблоны пользовательского интерфейса для приложений Windows, мы рекомендуем уделить основное внимание таким 5 областям:
- Макет
- Взаимодействие с пользовательским интерфейсом.
- Визуальный стиль
- Поведение окон.
- Точки интеграции оболочки.
WinUI 3 предоставляет встроенную поддержку для множества таких возможностей и стилей с помощью общих элементов управления. Если вы не можете использовать WinUI 3, рассмотрите возможность эмуляции стилей, показанных в наших наборах средств разработки и коллекции WinUI.
Макет
Приложения Windows работают с различными конфигурациями в зависимости от потребностей пользователей. Протестируйте области и (или) страницы приложения с различными измерениями, устройствами, размерами окна, параметрами разрешения и параметрами масштабирования. Приложение должно работать ожидаемым образом даже при уменьшении размеров.
Изменение разрешения
Приложения WinUI автоматически масштабируются для каждого дисплея, на котором они отображаются. Другие технологии программирования Windows (Win32, WinForms, WPF и т. д.) не обрабатывают масштабирование разрешения автоматически для каждого монитора. Если не выполнить дополнительные действия по обеспечению поддержки масштабирования разрешения для каждого монитора, приложения могут выглядеть размытыми или иметь неправильный размер. Дополнительные сведения см. в статье Разработка классических приложений с высоким разрешением в Windows.
Отзывчивый макет
Используйте методы адаптивного дизайна, чтобы оптимизировать страницы приложения для разных размеров окон. Следуйте рекомендациям по панорамированию или прокрутке, чтобы пользователи всегда могли получить доступ к вашему содержимому, независимо от того, насколько малым становится окно приложения.
Взаимодействие с пользовательским интерфейсом.
Пользователи Windows могут выбирать различные устройства ввода для взаимодействия с приложением, а Windows имеет определенные привычные для пользователей системные возможности. Если ваше приложение согласовано с такими возможностями, пользователи могут надежно использовать приложение. Если ваше приложение не соответствует этим соглашениям, у пользователей может возникать путаница или даже раздражение.
Средства управления в объекте
Используйте средства управления в объекте, такие как контекстные меню, команды прокрутки и сочетания клавиш. В Windows 11 улучшено поведение контекстного меню, вызываемого правой кнопкой мыши. Поэтому, если в приложении создаются контекстные меню, ознакомьтесь с последним руководством по интеграции контекстного меню. Текстовые элементы управления WinUI автоматически предоставляют команды вырезания, копирования и вставки, но для обеспечения поддержки этих команд, возможно, потребуется выполнить дополнительные действия.
Взаимодействие с текстом
При наличии текста в приложении пользователи ожидают, что могут выбрать и скопировать его. Если текст можно редактировать, они ожидают, что его также можно вырезать и вставить. Предоставляя пользователям доступ к согласованным сочетаниям клавиш, вы упрощаете им выполнение задач. Убедитесь, что эти действия можно выполнять с помощью клавиатуры, мыши или трекпада, сенсорного ввода и пера.
Сдвиг и прокрутка
Большинство пользовательских интерфейсов приложений не помещаются полностью на одну страницу, которая не требует прокрутки. Даже если используется всего несколько элементов пользовательского интерфейса, пользователи могут свободно изменять размер окна приложения и при этом скрыть некоторые элементы интерфейса. Убедитесь, что пользовательский интерфейс вашего приложения поддерживает прокрутку и панорамирование (с помощью клавиатуры, мыши или трекпада, сенсорного ввода и пера), чтобы пользователи могли получить доступ к элементам пользовательского интерфейса, которые не отображаются в видимой области окна.
Визуальный стиль
В основе Windows 11 лежат принципы проектирования Windows 11: легкость, спокойствие, личный подход, привычность, комплексность и согласованность. Мы верим, что реализация этих принципов значительно улучшает работу пользователей Windows.
Материалы: Acrylic и Mica
Acrylic и Mica — это визуальные материалы, которые придают интерактивным элементам пользовательского интерфейса особый визуальный стиль. Используйте Acrylic для применения полупрозрачного стиля к временно отображаемым поверхностям, например контекстных меню, всплывающих элементов Используйте Mica, чтобы добавить легкий адаптивный оттенок к длительно отображаемым поверхностям пользовательского интерфейса, таким как заголовок окна.
Дополнительные сведения о материалах "Акрил" и "Слюда" см. в разделе Как сделать ваше приложение отличным в Windows 11.
Темные и светлые темы
Темные и светлые темы позволяют пользователям адаптировать свое приложение к своим визуальным предпочтениям. В Windows 11 обновляются цветовые тона, чтобы сделать их более мягкими и не применять чистые белый и черный цвета, повышая привлекательность. WinUI поддерживает переключение между темными и светлыми темами по умолчанию (см. статью Ресурсы темы XAML). При использовании приложений Win32 см. статью Поддержка темных и светлых тем в приложениях Win32. (Заголовок окна в приложениях Win32 не адаптируется автоматически к темной теме. Обязательно придерживайтесь рекомендаций по заголовку окна в этой статье).
Обновленные элементы пользовательского интерфейса
Геометрия Windows 11 создана для обеспечения поддержки современных приложений. Плавно скругленные углы, вложенные элементы и согласованные поля создают спокойный и привлекательный внешний вид, подчеркивающий единство задач и простоты использования.
Изменения визуального вида и поведения внедрены в WinUI 3. При возможности используйте WinUI 3, чтобы получить преимущества от уже выполненной работы. Если вы не можете использовать WinUI 3, рассмотрите возможность эмуляции стилей, показанных в наших наборах средств разработки и коллекции WinUI.
Контекстное меню
Контекстное меню — это контекстное меню, с помощью которой пользователь вызывает правой кнопкой мыши или коснитесь и удерживайте действие, чтобы отобразить меню команд, относящихся к контексту элемента управления, с которым взаимодействует пользователь. Пользователи ожидают, что внешний вид и поведение контекстных меню будут согласованы в Windows. По возможности используйте контекстные меню, предоставляемые платформой, чтобы обеспечить их согласованность с в рамках системы.
Значки и шрифты
В Windows 11 обновлены значки (Segoe Fluent Icons), улучшена поддержка анимированных значков и включен новый шрифт пользовательского интерфейса (Segoe UI Variable). Мы рекомендуем вам использовать эти новые значки и шрифт, когда это возможно, чтобы обеспечить согласованность в Windows 11. Новый шрифт обеспечивает более мягкую геометрию и делает текст более разборчивым.
Дополнительные сведения о значках и шрифтах в Windows см. в статье Как сделать ваше приложение отличным в Windows 11.
Поведение и стиль окон
Приложения выполняются в кадре, предоставляемом Windows, и пользователи ожидают, что присущий Windows внешний вид и поведение будут аналогичны в окнах приложения. Мы рекомендуем обеспечить поддержку приведенных здесь функций, чтобы ваше приложение выглядело и работало так, как этого ожидают пользователи Windows 11.
Макет прикрепления
Возможности прикрепления окон значительно расширены в Windows 11, и меню "Макет прикрепления" представляет собой новую функцию, которая поможет пользователям изучить и освоить их. Используйте меню "Макет прикрепления", чтобы протестировать свое приложение с разными макетами прикрепления и убедиться, что оно поддерживает разные размеры прикрепления (1/2, 1/3, 1/4 экрана).
Если меню "Макет прикрепления" не отображается для вашего приложения по умолчанию, см. статью Поддержка макетов прикрепления для классических приложений в Windows 11, чтобы узнать, какие шаги можно предпринять для его включения.
Заголовок окна и кнопки окна
Заголовки окна и кнопки окна (свернуть, развернуть, закрыть) позволяют пользователям взаимодействовать с Windows для изменения размера, перемещения и закрытия окон приложений. Согласованность при использовании приложения упрощает пользователям работу с ним. Сведения о проектировании заголовка окна и кнопок окна для Windows см. в статье Заголовок окна.
Вы можете использовать интерфейсы API пакета SDK для приложений Windows для интеграции содержимого приложения с заголовком окна в приложениях WinUI 3, .NET, WinForms и WPF.
Скругленные углы
В большинстве случаев окна вашего приложения будут иметь скругленные углы по умолчанию в Windows 11. Если вы настроили окно приложения и у вас нет скругленных углов, см. статью Применение скругленных углов в классических приложениях для Windows 11, чтобы узнать о некоторых возможностях. Вам также следует избегать настройки теней и границ окна, что может помешать системе скруглять углы окна.
Точки интеграции оболочки.
Интеграция оболочки Windows позволяет пользователям воспользоваться преимуществами вашего приложения, даже если оно не работает на переднем плане или не отображается на экране. Если приложение качественно интегрировано с Windows, оно становится частью рабочего процесса пользователей с другими приложениями и помогает оптимизировать взаимодействия.
Всплывающие уведомления
Всплывающие уведомления — это уведомления Windows, которые появляются в нижней части экрана пользователя и в Центре уведомлений.
- Уведомления должны быть персонализированными, осуществимыми и полезными для ваших пользователей. Постарайтесь дать своим пользователям то, что они хотят, а не то, что вы хотите, чтобы они знали.
- Уведомления не должны быть помехой. Слишком большое количество отвлекающих сообщений от вашего приложения приведет к тому, что пользователи отключат этот критический канал связи.
- Реагируйте на намерения пользователя. При выборе уведомления ваше приложение должно запускаться в контексте уведомления. Единственным исключением из этого правила является случай, когда пользователь выбирает кнопку в вашем уведомлении с прикреплением к фоновой задаче, например для быстрого ответа.
- Обеспечьте согласованную работу Центра уведомлений. Поддерживайте порядок в Центре уведомлений, удаляя старые уведомления.
Дополнительные сведения о всплывающих уведомлениях см. в статье Основы проектирования уведомлений.
Производительность и основы
Пользователи Windows ожидают, что приложения Windows будут демонстрировать высокую производительность и оптимальные базовые показатели. При разработке и создании приложения важно помнить об оптимизации использования памяти, энергопотребления, скорости отклика, надежности и влияния на долгосрочную устойчивость. Выделение времени для тестирования и измерения основных параметров и производительности вашего приложения гарантирует, что ваши пользователи получат первоклассные возможности взаимодействия.
Следование рекомендациям, изложенным в этом разделе, поможет вам оправдать ожидания ваших клиентов по этим критериям.
Минимизируйте использование памяти приложения::
- Уменьшите приоритетное использование памяти.
- Минимизируйте фоновую работу.
- Высвобождайте ресурсы в фоновом режиме.
- Убедитесь, что ваше приложение не допускает утечки памяти.
Эффективно используйте место на диске:
- Предоставляйте дополнительные возможности только при необходимости (модель pay-for-play).
- Убедитесь, что все кэши имеют эффективный размер.
- Реализуйте новые возможности, придерживаясь подхода с эффективным использованием диска.
- По возможности оптимизируйте размер отдельных двоичных файлов.
Оптимизируйте потребление энергии и время работы батареи, минимизируя фоновую работу:
- Не активируйте ЦП и не используйте системные ресурсы в фоновом режиме.
Оптимизируйте реакцию запуска вашего приложения и ключевых взаимодействий:
- Определите ключевые сценарии взаимодействия и добавьте события ETW для измерения.
- Установите цели на основе класса взаимодействия, связанного с ожиданиями пользователя.
Дополнительные сведения см. в статье Общие сведения о производительности и базовых показателях, в которой рассматриваются вопросы, связанные с производительностью приложений и причинами, по которым это важно, а также инструментами, которые можно использовать для измерения производительности приложений Windows. Кроме того, в статье приведены ссылки на тематические исследования, соответствующие блоги, сообщества поддержки и информация о том, как планирование производительности пересекается с устойчивостью, снижая влияние вашего приложения на нашу планету.
Оптимизация операционной системы и оборудования
Приложения для Windows можно создавать, упаковывать и доставлять различными способами. Рекомендации в этом разделе помогут вам оптимизировать эти аспекты вашего приложения в разных аппаратных конфигурациях.
Подключение приложений MSIX к Виртуальному рабочему столу Azure
Если вы хотите, чтобы ваше приложение работало лучше всего в корпоративной среде, добавьте поддержку подключения приложений MSIX.
Подключение приложений MSIX — это способ доставки приложений MSIX как физическим компьютерам, так и виртуальным машинам. Эта возможность создана специально для Виртуального рабочего стола Azure (AVD) — службы виртуализации рабочих столов и приложений, работающей в облаке. Использование подключения приложений MSIX к AVD позволяет сократить время входа пользователей и снизить затраты на инфраструктуру для вашего предприятия.
Windows на архитектуре ARM
Windows может работать на устройствах ARM. Компьютеры ARM выигрывают от увеличенного времени автономной работы, а также встроенной поддержки мобильных сетей передачи данных. Эти компьютеры также обеспечивают отличную совместимость приложений и позволяют запускать существующие приложения x86
и x64
без изменений.
Для достижения оптимальной производительности вы должны сделать так, чтобы ваши приложения могли в полной мере использовать энергоэффективную архитектуру процессора ARM, создав полную версию ARM или оптимизировав части базы кода для наиболее эффективного использования собственной производительности. Дополнительные сведения об этих методах см. в статьях Windows в 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, чтобы сделать его более обнаруживаемым для пользователей. Обратите внимание, что приложения Store доступны пользователям через Диспетчер пакетов Windows WinGet. Если вы не публикуете приложение в Microsoft Store, вы все равно можете сделать его легко обнаруживаемым в WinGet через репозиторий WinGet.
Установка и удаление
- Включите поддержку установки для каждого пользователя. Это позволит пользователям выполнять установку более легко, избегая запросов UAC.
- Убедитесь, что при установке приложения не возникают ошибки и что это операция является прозрачной и продуманной в отношении управления файлами. После установки приложения не должны оставаться никакие временные файлы.
- По возможности не требуйте повышенных разрешений для установки и перезагрузки операционной системы.
- Включите поддержку автоматической установки. Это важно для управления приложениями в корпоративных средах.
- Убедитесь, что ваше приложение отображается в списке "Приложения" -> "Установленные приложения".
- Рассмотрите возможность использования MSIX, чтобы обеспечить беспрепятственную установку, обновление и удаление для пользователей. MSIX автоматически удаляет двоичные файлы и данные приложения. Сведения о том, как упакованные приложения обрабатывают файлы и записи реестра, см. в статье Общие сведения о том, как упакованные классические приложения работают в Windows.
- Для неупакованных приложений убедитесь, что ваше приложение можно легко удалить с помощью списка "Приложения" -> "Установленные приложения" в разделе "Параметры". Убедитесь, что при удалении приложения элементы меню "Пуск", файлы, каталоги, записи реестра и временные файлы также удаляются. Рекомендуется предоставить пользователям возможность сохранить свои данные при удалении приложения.
- Убедитесь, что при удалении приложения удаляются все двоичные файлы и данные приложения. Содержимое, созданное пользователем, должно храниться в таких расположениях, как
Documents
, которые затем могут сохранятся пользователями даже после удаления приложения. - Не устанавливайте и не обновляйте системные двоичные файлы, для которых может потребоваться перезагрузка.
- Включите интеграцию с RestartManager для сохранения и восстановления состояния между обновлениями ОС.
Обновления
- Включите поддержку механизма обновления, который позволяет вашему приложению перезапускаться, когда это удобно для пользователя. Рекомендуется использовать API перезапуска Windows App SDK для управления поведением приложений WinUI 3.
- Убедитесь, что механизм обновления скачивает только важные измененные компоненты, которые необходимо обновить. Это поможет минимизировать требуемую пропускную способность сети.
- Убедитесь, что вы предоставляете способ обновления и восстановления приложения. Рекомендуется использовать MSIX для автоматической обработки восстановления обновлений. Дополнительные сведения см. в статье Автоматическое обновление и восстановление приложений.
- Рекомендуется включить возможность обновления на основе push-уведомлений или проверку наличия доступных обновлений при запуске или перезапуске приложения.
Дополнительные ресурсы
Специальные возможности
Приложения Windows со специальными возможностями поддерживают расширенные и инклюзивные возможности для максимально возможного числа людей, в том числе с людей ограниченными возможностями (как временными, так и постоянными), личными предпочтениями, определенным стилем работы или ситуационными ограничениями (такими как совместное рабочее пространство, вождение, приготовление пищи, блики и т. д.).
На самом деле Всемирная организация здравоохранения определяет инвалидность не как личную характеристику, а скорее как несогласованное взаимодействие между человеком и окружающим его физическим и цифровым миром.
Специальные возможности хорошо подходят как для людей, так и для бизнеса
Специальные возможности — это ответственность
Более 1 миллиарда человек во всем мире испытывают некоторую форму инвалидности. Но только 1 из 10 человек имеет доступ к специальным технологиям, необходимым для полного участия в экономической и общественной деятельности. Как правило, уровень безработицы для людей с ограниченными возможностями в два раза больше, чем у людей без инвалидности. И инвалидность — будь то ситуационная, временная или постоянная — может затронуть любого из нас в любое время.
Специальные возможности — это возможность
В соответствии со спецификацией Microsoft Accessibility Approach Datasheet инклюзивные организации, применяющие передовые методы найма и поддержки людей с ограниченными возможностями на рабочем месте, превосходят своих коллег и добиваются большего успеха в привлечении и удержании лучших специалистов. Миллениалы, которые составляют 75 % мировой рабочей силы к 2020 году, как правило, выбирают работодателей, которые отражают их ценности. Разнообразие и инклюзия — главное в этом списке.
Включение специальных возможностей
Включение специальных возможностей в приложения Windows может максимизировать вовлеченность пользователей, повысить удовлетворенность продукта и поощрять лояльность к продуктам. Упреждающее проектирование и внедрение доступных интерфейсов обычно приводит к снижению затрат на разработку и обслуживание в долгосрочной перспективе.
Подробные инструкции по созданию приложений, доступных Windows, см. в статье Специальные возможности в Windows 11 и Windows 10.
Тестирование специальных возможностей
Аналитика специальных возможностей — это мощный набор инструментов, с помощью которого разработчики могут проверить доступность своих приложений и сервисов. Ниже приведены некоторые средства для тестирования специальных возможностей.
- Проверка в Аналитике специальных возможностей для Windows. Изучите дерево специальных возможностей, чтобы найти такие элементы, такие как подсказки в метках, неправильные роли и т. д.
- Мониторинг событий в Аналитике специальных возможностей для Windows · Аналитика специальных возможностей. Дополнительные сведения о мониторинге событий см. в статье Поддержка типов элементов управления службы автоматизации пользовательского интерфейса.
- Запускайте автоматические проверки Аналитики специальных возможностей в своих PR или CI/CD. Дополнительные сведения см. в разделе axe-pipelines-samples.
- Исправьте все найденные ошибки, все они напрямую влияют на доступность.
Безопасность и конфиденциальность
Небезопасное приложение может быть точкой входа, которая позволяет злоумышленнику выполнять вредоносные действия. Даже если в вашем приложении нет ошибок, связанных с безопасностью, злоумышленники могут использовать ваше приложение для инициирования своих атак с помощью фишинга и других форм социальной инженерии, которые нарушают защиту и конфиденциальность. Рекомендации в этом разделе помогут снизить риски, связанные с безопасностью и конфиденциальностью пользователей.
Рекомендации по безопасности
- Следуйте рекомендациям по жизненному циклу разработки системы безопасности для всего процесса разработки.
- Моделирование угроз поможет избежать ошибок, связанны с безопасностью.
- Использование безопасных библиотек, языков и инструментов минимизирует недостатки реализации.
- Безопасные значения по умолчанию помогут предотвратить проблемы с безопасностью, вызванные ошибкой пользователя.
- Не требуйте прав администратора для установки приложения.
- В идеале ваше приложение должно поддерживать как административные установки, так и установки для каждого пользователя.
- Использование упаковки MSIX — один из способов добиться этого.
- Не требуйте прав администратора для запуска приложения.
- Если существуют определенные функции, которым требуются права администратора, рекомендуется разделить их на отдельные процессы для сокращения направлений атак.
- Предпочитайте использовать языки с гарантированной безопасностью памяти (такие как C#, JavaScript или Rust), особенно для рискованных путей кода (таких как анализ ненадежных данных).
- Используйте все средства защиты, предоставляемые компилятором и набором инструментов (см. раздел, посвященный функциям безопасности в Microsoft Visual C++ для Visual C++).
- Всегда используйте предпочитаемый вами язык или стандартные библиотеки платформы для криптографии и другого кода, чувствительного к безопасности. Не пытайтесь создавать собственные решения.
- Используйте цифровую подпись всех компонентов вашего приложения — не только установщика, но и деинсталлятора (если он у вас есть). Также подпишите все файлы EXE, DLL и другие исполняемые файлы, из которых состоит ваше приложение.
- Цифровые подписи позволяют пользователю проверять подлинность приложения и разрешать администраторам Предприятия защищать свои устройства с помощью элемента управления приложениями Защитника Windows.
- Использование упаковки MSIX — один из способов добиться этого.
- Убедитесь, что весь сетевой обмен данными осуществляется через безопасный транспорт, например SSL.
- Примените ограничения или другие меры по снижению риска, которые помогут защитить пользователей от случайного выполнения вредоносных действий, даже когда злоумышленники принуждают их к этому.
- Простое диалоговое окно с вопросом "Вы действительно хотите сделать Х?" с вариантами ответа Да/Нет обычно не являются эффективными, так как пользователи вынуждены выбирать "Да".
Большинство современных приложений собирают и используют большой объем данных, включая персональные данные. Это происходит по различным причинам. Сбор телеметрии, совершенствование продуктов и монетизация — три распространенные причины использования данных, но пользователи и регулирующие органы уделяют все больше внимания влиянию этих практик в отношении конфиденциальности. Они ожидают прозрачности и контроля над данными, собираемыми и используемыми приложениями. Используйте следующие советы, чтобы удовлетворить потребности пользователей в конфиденциальности.
Рекомендации по обеспечению конфиденциальности
- Убедитесь, что ваше приложение предоставляет точную политику конфиденциальности. В идеале предоставьте как краткий документ, написанный для меняющейся аудитории (ваших пользователей), так и развернутую политику, написанную для ваших юристов.
- Ознакомьтесь с правилами конфиденциальности на рынках, где будет доступно ваше приложение, и убедитесь, что ваше приложение соответствует или превосходит любые требования к раскрытию информации, правам использования, запросам на удаление и т. д.
- Убедитесь, что вы собираете наименьшее количество личных данных, необходимых для полноценного использования приложения.
- Не собирайте данные "на всякий случай" — для сбора всех данных должна быть веская причина, например. чтобы улучшить качество обслуживания клиентов или облегчить монетизацию.
- Всегда получайте согласие пользователя перед сбором и хранением персональных данных и предоставляйте пользователю простой способ отменить свое решение в будущем. Избегайте темных шаблонов, например, делайте кнопку "Да" больше или более заметной, чем кнопка "Нет" в диалоговом окне предоставления согласия.
- Ознакомьтесь с применимыми нормативными актами, чтобы определить, какое конкретное раскрытие информации и согласие требуется для определенных видов данных. Например, некоторые регионы могут разрешать пользователям просматривать, изменять или удалять сохраненные данные.
- Если необходимо передавать данные по сети, всегда используйте защищенные подключения, например по протоколу TLS.
- Избегайте хранения персональных данных в централизованном расположении (например, на веб-сайте). Если вам необходимо хранить личные данные, сведите к минимуму объем хранимых данных, храните их ровно столько, сколько необходимо, и обеспечьте их надежное шифрование.
- Убедитесь, что все сторонние библиотеки или пакеты SDK, которые вы используете, также надежно обеспечивают конфиденциальность. Обратите внимание, что сказанное не ограничивается только объявлением пакетов SDK, — любая библиотека, которая подключается к Интернету, может повлиять на конфиденциальность пользователей приложения.
Связанные статьи
Windows developer