Опубликован: 15.05.2013 | Доступ: свободный | Студентов: 265 / 9 | Длительность: 24:25:00
Специальности: Системный архитектор
Лекция 15:

Приложения для всех: готовность к мировому рынку и Магазин Windows

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >

Параллельная загрузка

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

В Windows это не проблема. Для начала, как описано в материале "Получение лицензии разработчика" (http://msdn.microsoft.com/library/windows/apps/Hh974578.aspx): "Лицензия разработчика для Windows 8 позволяет устанавливать, разрабатывать, тестировать и оценивать приложения Магазина Windows до их проверки и сертификации Магазином Windows.". В дополнение к доступности некоторых технических возможностей (наподобие использования локальной обратной петли), лицензия разработчика позволяет вам делиться пакетами приложений (.appx файлами) с другими разработчиками для любых целей, например, для тестирования.

Второе, администраторы сетей организаций могут позволить параллельную загрузку на компьютеры, которые работают под управление Windows 8 Enterprise edition. Обычно это полезно для распространения бизнес-приложений (line-of-business ,LOB) внутри конкретной организации, так как такие приложения, очевидно, не нуждаются в отправке в общедоступный Магазин Windows. Подробности и требования можно найти в материале "Добавление и удаление приложений" (http://technet.microsoft.com/library/hh852635.aspx) (Microsoft TechNet) и в материале "Развертываний бизнес-приложений для Магазина Windows" (http://blogs.msdn.com/b/windowsstore/archive/2012/04/25/deploying-metro-style-apps-to-businesses.aspx) (Магазин Windows: Блог для разрабочиков).

И в том и в другом случаях процесс параллельной загрузки выглядит одинаково. Сначала вы создаете пакет приложения с помощью команды Магазин > Создать пакеты приложения (Store > Create App Packages) в Visual Studio и выбираете переключатель Нет (No), как показано на рис. 15.1. Затем вы вводите некоторые подробности о пакете, как на рис. 15.2 и нажимаете на кнопку Создать (Create ).

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

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

Рис. 15.2. Второй шаг создания пакета приложения для параллельной загрузки

Когда процесс завершится, Visual Studio даст вам ссылку на папку, где располагается созданный пакет. Перейдя туда, вы увидите файл с расширением .appxupload, его используют для Магазина Windows. Для параллельной загрузки нужно взглянуть на папку, имя которой заканчивается на _Test. В данной папке вы обнаружите следующее:

  • Пакет приложения (файл .appx).
  • Временный сертификат (файл .cer)
  • Папку Dependencies, которая содержит любые библиотеки, которые обычно предоставляет Магазин Windows. WinJS – это одна из таких библиотек.
  • Самое главное, скрипт PowerShell с именем Add-AppDevPackage.ps1 (и папка со связанными ресурсами), который установит приложение на компьютер, для которого возможна параллельная загрузка.

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

Планирование: может ли приложение быть приложением для Магазина Windows?

В некотором противоречии с заголовком этой лекции, идея "приложения для всех" не обязательно означает, что каждое приложение может быть приложением для Магазина Windows. Здесь есть две стороны: техническая осуществимость и соответствие сертификационным требованиям Магазина Windows.

С технической точки зрения, как мы уже видели раньше, в частности, в Главе 3 курса "Введение в разработку приложений для Windows 8 с использованием HTML, CSS и JavaScript", приложения для Магазина Windows исполняются с применением определенных условий и ограничений. Вот основные положения:

  • Приложения для Магазина Windows всегда исполняются в контейнере приложений и не имеют доступа к API, которые осуществляют непосредственный доступ к файловой системе или другим критически важным ресурсам.
  • Передача данных между приложениями для Магазина Windows осуществляется посредством контракта Общий доступ, через буфер обмена или посредством веб-сервисов. Локальное межпроцессное взаимодействие не поддерживается . (Локальная обратная петля поддерживается только на компьютере с установленной лицензией разработчика, её использование приведет к невозможности сертификации приложения в Магазине Windows.)
  • Приложения для Магазина Windows могут использовать лишь API WinRT, вместе с подмножеством API Win32 b .NET; приложения, написанные на HTML и JavaScript так же могут использовать встроенные API HTML и JavaScript, предоставленные хост-процессом приложения. Любые библиотеки сторонних разработчиков, которые вы используете в приложении, так же должны использовать только эти API.
  • Приложения не могут устанавливать пользовательские драйверы или что угодно другое, что воздействует на системе, не могут приложения влиять и на процесс установки.
  • Только определенные приложения могут работать в фоновом режиме, выполняя при этом определенные задачи, как мы видели в Главе 4 курса "Пользовательский интерфейс приложений для Windows 8, созданных с использованием HTML, CSS и JavaScript" и в Главе 2.
  • Некоторые модели взаимодействия с пользовательским интерфейсом не подходят для сенсорного ввода, такие, как высокоточные CAD. Так как приложения для Магазина Windows должны поддерживать все формы ввода, высокоточные приложения нужно либо переработать для соответствия этому требованию, либо реализовать как классические настольные приложения.
  • Приложения для Магазина Windows запускаются в одном из четырех режимов просмотра и не могут использовать перекрывающиеся окна.

Если любой из этих технических аспектов не даёт вам написать то приложение, которое вы хотите, значит работать с Магазином Windows как местом ведения дел, если хотите, нереально. Например, многие средства разработки, средства сетевого администрирования, утилиты для работы с файловой системой, антивирусы (которые сканируют весь жёсткий диск) и системы управления базами данных должны быть реализованы в виде настольных приложений и распространяться через Интернет или через другие каналы распространения .

В целом, так как приложения для Магазина Windows исполняются в полноэкранном режиме, или совместно с максимум еще одним видимым приложением, они предназначены для обслуживания какой-то конкретной задачи, уделяя ей основную часть своей функциональности. Приложения, которые пытаются выполнять слишком много – "Швейцарские ножи", если хотите – могут восприниматься пользователями как громоздкие и запутанные. Полезно со всем вниманием относиться к цели приложения, как обуждено в материале "Планирование приложений Магазина Windows" (http://msdn.microsoft.com/library/windows/apps/hh465427.aspx). В противном случае вам, возможно, лучше вместо этого реализовать настольное приложение (для которых всё еще существует очень большой рынок, заметьте!).

Планируя приложение, не забудьте ознакомиться с материалом "Сертификационные требования к приложениям для Windows 8" (http://msdn.microsoft.com/library/windows/apps/hh694083.aspx) для того, чтобы понимать, пройдёт ли ваше приложение сертификацию. Примеры приложениям, которым отказывают в сертификации, это приложения, содержащие материалы, пропагандирующие насилие или ненависть, материалы для взрослых, призывы к совершению преступлений и так далее. Так же приложение может не пройти сертификацию, если оно потребляет неоправданно много энергии батарей, пытаются быть обычной оболочкой для веб-сайта, или попросту не имеют практической ценности. Таким образом, если вы планируете отправить еще одно великое приложение, полное звуковых эффектов, подумайте еще раз.

Кроме того, учтите, что правила Магазина Windows время от времени меняются, поэтому, прежде чем начинать новый проект, просматривайте их снова.

Последнее соображение касается того, доступен ли Магазин Windows на целевом рынке, где вы планируете распространять своё приложение – с течением времени Магазин Windows включает в себя новые рынки. К сожалению, расписания этого процесса нет, вам нужно следить за объявлениями. Кроме того, возможны ограничения на то, можете ли вы публиковать приложения для определенного рынка на основании того, в какой стране вы зарегистрированы как разработчик. Информацию об этом лучше всего смотреть в Центре разработчиков Windows 8 (https://appdev.microsoft.com/StorePortals/).

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >