Spec-Zone.ru › Cordova 6

Руководство по платформе Windows

Это руководство показывает, как настроить среду разработки SDK для создания и развертывания приложений Cordova для Windows 8.1, Windows Phone 8.1 и универсальной платформы приложений Windows 10. Оно демонстрирует использование инструментов командной строки для генерации и сборки приложений или кроссплатформенного интерфейса командной строки Cordova. (См. Обзор для сравнения этих вариантов разработки). Этот раздел также показывает, как изменять приложения Cordova в Visual Studio. Независимо от выбранного вами подхода, необходимо установить SDK Visual Studio, как описано ниже.

Разработчики, желающие нацеливаться на Windows Phone 8, должны использовать платформу wp8, см. Руководство по платформе Windows Phone 8 для получения подробностей (Предупреждение: платформа wp8 устарела).

Cordova WebView, работающие на Windows, используют Internet Explorer 11 (Windows 8.1 и Windows Phone 8.1) в качестве движка рендеринга, поэтому в практическом плане вы можете использовать мощный отладчик IE для тестирования любого веб-контента, который не вызывает API Cordova. Блог разработчиков Windows Phone предоставляет полезные рекомендации по поддержке IE наряду с аналогичными браузерами WebKit.

Требования и поддержка

Для разработки приложений для платформы Windows вам необходимо:

  • Компьютер Windows 8.1, 32 или 64 бита (издания Home, Pro или Enterprise) с минимальным объемом оперативной памяти 4 ГБ вместе с Visual Studio 2015 или Visual Studio 2013. Оценочная версия Windows 8.1 Enterprise доступна в сети Microsoft Developer Network.

  • Для эмуляторов Windows Phone требуется Windows 8.1 (x64) профессиональная версия или выше, а также процессор, поддерживающий Client Hyper-V и Second Level Address Translation (SLAT).

Для разработки приложений для Windows 10:

  • Windows 8.1 или Windows 10, 32- или 64-битные, вместе с Visual Studio 2015 или более поздней версией.

Совместимость приложений определяется ОС, на которую ориентировано приложение. Приложения совместимы с последующими версиями, но не с предыдущими, поэтому приложение, ориентированное на Windows 10, не может работать под 8.1, но приложение, созданное для 8.1, может работать под 10.

Приложения Cordova, нацеленные на Windows, можно разрабатывать на Mac, запуская виртуальную машину или используя Boot Camp для двойной загрузки раздела Windows 8.1. Обратитесь к этим ресурсам, чтобы настроить требуемую среду разработки Windows на Mac:

  • VMWare Fusion

  • Parallels Desktop

  • Boot Camp

Установка требований

Установите любую версию Visual Studio, соответствующую требованиям, указанным выше.

Инструменты и SDK для целевых платформ Windows (UWP, 8.1 и т. д.) также должны быть выбраны в установщике. Их можно найти в разделе "Разработка для Windows и веб-приложений".



Настройка проекта

Целевая версия Windows

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

По умолчанию команда cordova build создает два пакета: Windows 8.1 и Windows Phone 8.1. Чтобы обновить пакет Windows до версии 10, необходимо добавить следующее значение конфигурации в файл конфигурации (config.xml).

<preference name="windows-target-version" value="10.0" />

После добавления этого значения build команда начнет создание пакетов Windows 10.

Рекомендации по целевой версии Windows

Windows 10 поддерживает новый режим "Удаленный" для приложений Cordova (и HTML-приложений в целом). Этот режим предоставляет приложениям больше свободы в отношении использования манипуляций с DOM и общих веб-паттернов, таких как использование встроенного скрипта, но при этом уменьшает набор возможностей, которые ваше приложение может использовать при отправке в общедоступный магазин Windows Store. Дополнительную информацию о Windows 10 и удаленном режиме см. в разделе Понимание удаленного режима по сравнению с локальным режимом.

При использовании удаленного режима разработчикам рекомендуется применять политику безопасности контента (CSP) для своего приложения, чтобы предотвратить атаки с внедрением скриптов.

Параметр --appx

Вы можете решить, что хотите создать определенную версию своего приложения, ориентированную на определенную ОС (например, вы можете настроить нацеливание на Windows 10, но хотите создать приложение для Windows Phone 8.1). Для этого вы можете использовать параметр --appx:

cordova build windows -- --appx=8.1-phone

Система сборки проигнорирует предпочтения, установленные в config.xml, для целевой версии Windows и строго создаст пакет для Windows Phone 8.1.

Допустимые значения для флага --appx — это 8.1-win, 8.1-phone и uap (для универсальных приложений Windows 10). Эти параметры также применяются к команде cordova run.

Параметры развертывания

Для развертывания пакета Windows:

cordova run windows -- --win  # explicitly specify Windows as deployment target
cordova run windows # `run` uses Windows package by default

Для развертывания пакета Windows Phone:

cordova run windows -- --phone  # deploy app to Windows Phone 8.1 emulator
cordova run windows --device -- --phone  # deploy app to connected device

Эта команда предоставит вам список всех доступных целей:

cordova run windows --list

Это позволяет запустить приложение на конкретном устройстве или эмуляторе, в данном случае "Эмулятор 8.1 720p 4,7 дюйма"

cordova run windows --target="Emulator 8.1 720P 4.7 inch" -- --phone

Вы также можете использовать cordova run --help, чтобы увидеть дополнительные параметры сборки и запуска.

Использование Visual Studio для развертывания приложения

После сборки приложения Cordova вы можете открыть его в Visual Studio. Различные команды build генерируют файл решения Visual Studio (.sln). Откройте файл в проводнике, чтобы изменить проект в Visual Studio:



Компонент CordovaApp отображается в решении, а его каталог www содержит веб-исходный код, включая домашнюю страницу index.html:



Проекты для разных версий Windows отображаются отдельно в обозревателе решений. Вы можете выбрать целевую версию развертывания, щелкнув правой кнопкой мыши по элементу 'решение' (первый элемент в обозревателе решений), а затем перейдя в 'Свойства'. Здесь вы можете обновить поле 'Единственный запуск'. Элементы управления под основным меню Visual Studio позволяют вам протестировать или развернуть приложение:



Выбрав Локальный компьютер, нажмите зеленую стрелку, чтобы установить приложение на тот же компьютер, на котором работает Visual Studio. После этого приложение отображается в списках приложений Windows:



Каждый раз при пересборке приложения доступная версия в интерфейсе обновляется.

После появления в списках приложений удержание клавиши CTRL при выборе приложения позволяет закрепить его на главном экране:



Обратите внимание, что при открытии приложения в среде виртуальной машины вам может потребоваться щелкнуть в углах или по сторонам окон, чтобы переключиться между приложениями или получить доступ к дополнительным функциям:



В качестве альтернативы выберите вариант развертывания Симулятор, чтобы просмотреть приложение так, как если бы оно работало на планшетном устройстве:



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

ПРИМЕЧАНИЕ: Обратитесь к Обзору за советами по использованию инструментов командной строки Cordova или SDK в вашем рабочем процессе. Интерфейс командной строки Cordova использует кроссплатформенный исходный код, который регулярно перезаписывает платформенно-специфические файлы, используемые SDK. Если вы хотите использовать SDK для изменения проекта, воспользуйтесь инструментами командной строки более низкого уровня в качестве альтернативы интерфейсу командной строки.

Отладка

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

Примечание: События возобновления и приостановки не срабатывают нормально при отладке приложений с помощью Visual Studio. Это связано с тем, что Windows не приостанавливает ваше приложение при отладке. Единственный способ изменить состояние приложения — использовать параметры 'Событие жизненного цикла' в Visual Studio. События должны работать как ожидается, когда приложение запущено на устройстве/эмуляторе без подключенного отладчика.

Подписание приложения

Дополнительную информацию о подписании и упаковке приложений Windows Store можно найти на MSDN.

Для правильной упаковки и подписи приложений Windows требуется следующее:

  • Сертификат подписи
  • Сведения о личности, соответствующие предоставленному сертификату подписи

В проекте Windows сведения о личности хранятся в файле package.appxmanifest. Этот файл автоматически заполняется каждый раз при сборке приложения Cordova. Идентификатор содержит 3 важных поля.

  • Имя
  • Издатель
  • Версия

Имя и Версия можно задать из config.xml. Издатель можно указать в качестве параметра сборки или установить в файле build.json.

Сертификат подписи можно предоставить как с помощью интерфейса командной строки, так и через файл build.json. Флаги интерфейса командной строки, относящиеся к сертификату:

Параметр Флаг Описание
Файл сертификата --packageCertificateKeyFile Путь к сертификату подписи пакета, который необходимо связать с приложением
Отпечаток --packageThumbprint Используется для проверки подлинности файла ключа сертификата пакета. При создании файла ключа сертификата это значение будет предоставлено конечному пользователю

Пример:

cordova build -- --packageCertificateKeyFile="platforms\windows\CordovaApp_TemporaryKey.pfx" --packageThumbprint="ABCABCABCABC123123123123"`

В качестве альтернативы эти значения можно указать в файле конфигурации сборки (build.json) с помощью интерфейса командной строки (--buildConfig). Пример файла конфигурации сборки:

{
    "windows": {
        "debug": {
            "packageCertificateKeyFile": "platforms\\windows\\CordovaApp_TemporaryKey.pfx"
        },
        "release": {
            "packageCertificateKeyFile": "c:\\path-to-key\\keycert.pfx",
            "packageThumbprint": "ABCABCABCABC123123123123",
            "publisherId": "CN=FakeCorp.com, L=Redmond, S=Washington, C=US"
        }
    }
}

Также поддерживается смешивание аргументов командной строки и параметров в файле build.json. Значения из аргументов командной строки будут иметь приоритет.

Создание ключа сертификата

Для распространения и установки приложений в Windows Store требуется подпись. Этот процесс обычно выполняется Visual Studio при развертывании пакета для выпуска. Чтобы сделать это без Visual Studio, нам нужно создать собственные сертификаты. Эта статья содержит инструкции по этому.

После создания файла pfx и его предоставления в файле build.json может возникнуть следующая ошибка: «Файл ключа может быть защищен паролем. Для исправления попробуйте вручную импортировать сертификат в хранилище персональных сертификатов текущего пользователя». Для его импорта необходимо использовать certutil из командной строки администратора:

certutil -user -p PASSWORD -importPFX FakeCorp.com.pfx

Где:

  • user : Указывает хранилище персональных сертификатов "текущего пользователя"
  • p : Пароль для файла pfx
  • importPfx : Имя файла pfx

После установки следующим шагом является добавление packageThumbprint и packageCertificateKeyFile в build.json. Для поиска packageThumbprint найдите CommonName, который вы связали с сертификатом:

powershell -Command " & {dir -path cert:\LocalMachine\My | where { $_.Subject -like \"*FakeCorp.com*\" }}"

После предоставления этих значений Cordova должен успешно упаковать и подписать приложение.

Рабочий процесс, ориентированный на платформу

Если вы хотите использовать инструменты оболочки Cordova, ориентированные на Windows, в сочетании с SDK, у вас есть два основных варианта:

  • Получите к ним доступ локально из кода проекта, сгенерированного CLI. Они доступны в каталоге platforms/windows/ после добавления платформы windows, как описано ниже.

  • Загрузите их из отдельного дистрибутива здесь. Дистрибутив Cordova содержит отдельные архивы для каждой платформы. Убедитесь, что вы распаковали соответствующий архив, cordova-windows в этом случае, в пустой каталог. Соответствующие утилиты командной строки доступны в каталоге package/bin. (Обратитесь к файлу README, если вам необходимы более подробные инструкции.)

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

Например, подход на основе инструментов оболочки более низкого уровня, соответствующий cordova create HelloWorld, выглядит следующим образом:

C:\path\to\cordova-windows\package\bin\create.bat C:\path\to\new\hello HelloWorld

Аналогично для cordova build --debug:

C:\path\to\project\cordova\build.bat --debug

Обновление

Обратитесь к статье по этой ссылке за инструкциями по обновлению вашей версии cordova-windows.

Поддержка уведомлений Toast

Windows требует объявления возможности в манифесте приложения для поддержки уведомлений Toast. При использовании плагина cordova-plugin-local-notifications или любого другого плагина, пытающегося использовать уведомления Toast, добавьте следующую настройку в config.xml для разрешения публикации уведомлений Toast, если плагин не изменяет это самостоятельно:

<preference name="WindowsToastCapable" value="true" />

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

Понимание режима удаленного доступа и локального режима

Windows 10 вводит новую функцию «Режим удаленного доступа» для HTML-приложений. До этого приложения Windows 8.1 работали в том, что сейчас называется «Локальным режимом» в Windows 10, в котором HTML-приложения имеют полный доступ к поверхностям и возможностям нативного API Windows. Локальный режим запрещает встроенные скрипты для предотвращения атак с внедрением скриптов, которые могут привести к утечке личной информации из-за вредоносного кода. Он также требует от разработчиков, выполняющих манипуляции с DOM, выполнять их в явном контексте (MSApp.execUnsafeLocalFunction).

Режим удаленного доступа устраняет эти требования, что позволяет использовать немодифицированные библиотеки, такие как jQuery или AngularJS, напрямую в вашем коде без каких-либо изменений. Для этого он лишает вас возможности объявлять определенные возможности при сертификации приложения в Windows Store. Удаление этих возможностей обычно не препятствует доступу к определённым функциям, но может потребоваться использование другой комбинации API или тактики.

Влияние режима удаленного доступа на возможности

Следующие возможности недоступны при развертывании приложения в режиме удаленного доступа в Windows Store:

  • Корпоративная аутентификация (enterpriseAuthentication)
  • Общие сертификаты пользователей (sharedUserCertificates)
  • Библиотека документов (documentsLibrary)
  • Библиотека музыки (musicLibrary)
  • Библиотека изображений (picturesLibrary)
  • Библиотека видео (videosLibrary)
  • Съемные хранилища (removableStorage)
  • Клиент/сервер интернета (internetClientServer) - обратите внимание, что internetClient все еще разрешено
  • Клиент/сервер частной сети (privateNetworkClientServer)

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

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

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

© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/6.x/guide/platforms/win8/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API