Расширение приложения за счет служб, расширений и пакетов

Существует множество технологий в Windows 10 для расширения и компонентов приложения. Эта таблица поможет определить, какую технологию следует использовать в зависимости от требований. За ним следует краткое описание сценариев и технологий.

Сценарий Пакет ресурсов Пакет активов Дополнительный пакет Плоский пакет Расширение приложения Служба приложений Streaming Install
Сторонние подключаемые модули кода ✔️
Подключаемые модули кода in-proc ✔️
Ресурсы пользовательского интерфейса (строки и изображения) ✔️ ✔️ ✔️ ✔️ ✔️
Содержимое по запросу
(например, дополнительные уровни)
✔️ ✔️ ✔️
Отдельное лицензирование и приобретение ✔️ ✔️ ✔️
Приобретение в приложении ✔️ ✔️
Оптимизация времени установки ✔️ ✔️ ✔️ ✔️
Сокращение объема дискового пространства ✔️ ✔️
Оптимизация упаковки ✔️ ✔️ ✔️
Сокращение времени публикации ✔️ ✔️ ✔️ ✔️

Описания сценариев (строки в таблице выше)

Сторонние подключаемые модули

Код, который можно скачать из магазина и запустить из приложения. Например, расширения для браузера Microsoft Edge.

Подключаемые модули кода in-proc

Код, выполняющийся в процессе с приложением. Может также включать содержимое. Так как код выполняется в процессе, предполагается более высокий уровень доверия. Вы можете отказаться от предоставления такого рода расширяемости стороннему поставщику.

Ресурсы пользовательского интерфейса (string/images)

Ресурсы пользовательского интерфейса, такие как локализованные строки, изображения и любое другое содержимое пользовательского интерфейса, которое необходимо учитывать на основе языкового стандарта или любой другой причины.

Содержимое по запросу

Содержимое, которое вы хотите скачать позже. Например, покупки в приложении, позволяющие скачать новые уровни, кожи или функциональные возможности.

Отдельное лицензирование и приобретение

Возможность лицензировать и получать содержимое независимо от приложения.

Приобретение в приложении

Указывает, существует ли программная поддержка получения содержимого из приложения.

Оптимизация времени установки

Предоставляет функциональные возможности для уменьшения времени, необходимого для получения приложения из магазина и запуска.

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

Оптимизация упаковки оптимизирует процесс упаковки приложений для крупномасштабных или сложных приложений.

Уменьшите время публикации свести к минимуму время публикации приложения в Магазине, локальном ресурсе или веб-сервере.

Описания технологий (столбцы в таблице выше)

Пакет ресурсов

Пакеты ресурсов — это пакеты только для ресурсов, которые позволяют приложению адаптироваться к нескольким размерам дисплея и системным языкам. Пакет ресурсов предназначен для функций пользовательского языка, масштабирования системы и DirectX, что позволяет приложению адаптироваться к различным сценариям пользователей. Хотя пакет приложения может содержать несколько ресурсов, ОС будет загружать только соответствующие ресурсы на каждое пользовательское устройство, сохраняя пропускную способность и место на диске.

Пакеты ресурсов пакета ресурсов — это общий, централизованный источник исполняемых файлов или не исполняемых файлов, используемых приложением. Обычно это непроцессорные или языковые файлы. Например, это может включать коллекцию изображений в одном пакете активов и видео в другом пакете ресурсов, оба из которых используются приложением. Если приложение поддерживает несколько архитектур и нескольких языков, эти ресурсы могут быть включены в пакет архитектуры или пакет ресурсов, но это также означает, что ресурсы будут дублироваться несколько раз в различных пакетах архитектуры, занимая место на диске. Если используются пакеты ресурсов, их необходимо включить только в общий пакет приложения один раз. Дополнительные сведения см. в статье "Общие сведения о пакетах ресурсов".

Дополнительный пакет

Необязательные пакеты используются для дополнения или расширения исходной функциональности пакета приложения. Можно опубликовать приложение, а затем опубликовать необязательные пакеты позже или опубликовать как приложение, так и необязательные пакеты одновременно. Расширяя приложение через необязательный пакет, у вас есть преимущества распространения и монетизации содержимого в виде отдельного пакета приложения. Необязательные пакеты обычно предназначены для разработки исходным разработчиком приложений, так как они работают с удостоверением основного приложения (в отличие от расширений приложений). В зависимости от того, как вы определяете необязательный пакет, можно загрузить код, ресурсы или ресурсы из дополнительного пакета в основное приложение. Если вам нужно улучшить приложение с контентом, который можно монетизировать, лицензировать и распространять отдельно, то дополнительные пакеты могут быть правильным выбором для вас. Дополнительные сведения о реализации см. в разделе "Необязательные пакеты" и связанные с ним наборы разработки.

Пакеты приложений с неструктурированным пакетом похожи на обычные пакеты приложений, за исключением того, что вместо включения всех пакетов приложений в папке неструктурированный пакет содержит только ссылки на эти пакеты приложений. Содержащий ссылки на пакеты приложений, а не сами файлы, неструктурированный пакет сокращает время, затрачивается на пакет и скачивание приложения.

Расширение приложения

Расширения приложений позволяют приложению UWP размещать содержимое, предоставляемое другими приложениями UWP. Обнаружение, перечисление и доступ к содержимому только для чтения из этих приложений.

Если приложение поддерживает расширения, любой разработчик может отправить расширение для приложения. Таким образом, ведущее приложение должно быть надежным при загрузке расширения, с которым он не был предварительно протестирован. Расширения должны считаться ненадежными.

Приложения не могут загружать код из расширений. Если требуется выполнение кода, рассмотрите Служба приложений.

Служба приложений

Службы приложений Windows обеспечивают обмен данными между приложениями, позволяя приложению UWP предоставлять службы другому универсальному приложению Windows. Службы приложений позволяют создавать службы без пользовательского интерфейса, которые приложения могут вызывать на одном устройстве и, начиная с Windows 10 версии 1607, на удаленных устройствах. Дополнительные сведения см. в статье "Создание и использование службы приложений".

Службы приложений — это приложения UWP, которые могут предоставлять службы другим приложениям UWP. Они аналогичны веб-службам на устройстве. Служба приложений выполняется как фоновая задача в приложении узла и предоставляет соответствующую службу другим приложениям. Например, служба приложений может предоставлять службу сканирования штрихкода, которую могут использовать другие приложения. Или корпоративный набор приложений может использовать общую службу проверки орфографии, которая доступна всем приложениям в наборе.

Установка потоковой передачи приложений UWP

Потоковая установка — это способ оптимизации доставки приложения пользователям. Не ожидая загрузки всего приложения, прежде чем его можно будет использовать, пользователи могут взаимодействовать с приложением сразу после загрузки требуемой части. Это касается вас, как разработчика, сегментировать приложение в обязательный раздел для базовой активации и запуска и дополнительного содержимого для остальной части приложения. Дополнительные сведения и сведения о реализации см. в статье " Потоковая передача приложений UWP".

См. также

Создание и использование службы приложений
Общие сведения о пакетах ресурсов
Создание пакета с макетом упаковки
Разработка дополнительных пакетов и связанных наборов
Разработка с помощью пакетов ресурсов и свертывания пакетов
Потоковая установка приложений UWP
Пакеты приложений с неструктурированным пакетом
Пространство имен Windows.ApplicationModel.AppService
Пространство имен Windows.ApplicationModel.Extensions