Скачайте клиент WP-seven.ru на свой смартфон! Платформы виндовс


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

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

Смотрите "Обновление для Windows 8" для информации о том, как обновить существующие проекты Windows 8 Cordova.

Window Phone 8 (wp8) остается в качестве отдельной платформы, подробности в "Руководство для платформы Windows Phone 8".

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

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

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

  • Windows 8.1, 32 или 64-разрядная машина (Домашняя, Профессиональнаяили Корпортативное издание) с как минимум 4 ГБ ОЗУ.

  • Windows 8.0, 8.1 или 10, 32 или 64-разрядные выпуски версии Домашней, Профессиональной или Корпоративной, вместе с Visual Studio 2012 Express или Visual Studio 2013. Visual Studio 2015 не позволяет создавать приложений Windows 8.0.

Для разработки приложений для Windows 8.0 и 8.1 (включая Windows Phone 8.1):

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

  • Windows 8.1 или Windows 10 Technical Preview 2, 32 - или 64-бит, вместе с Visual Studio 2015 RC или выше.

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

Следуйте инструкциям на windowsstore.com для отправки приложения в магазин Windows.

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

Использование инструментов командной строки Cordova

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

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

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

Эти оболочки инструменты позволяют создавать, строить и запускать приложения Windows. За информаций о дополнительных интерфейсах командной строки которые позволяют встраивать возможности плагинов среди разных платформ, смотрите раздел "Использование Plugman для управления расширениями".

Установите SDK

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

Для 10 Windows установщик Visual Studio имеет возможность установить инструменты для создания универсальных приложений Windows. Необходимо убедиться, что этот параметр выбран при установке чтобы установить требуемый пакет SDK.

Создание нового проекта

На данный момент для создания нового проекта можно выбрать между кросс-платформенным инструментом CLI, описанным в разделе "Интерфейс командной строки", или набором инструментов для Windows. Ниже CLI подход создает приложение с именем HelloWorld в каталог нового проекта hello:

> cordova create hello com.example.hello HelloWorld > cd hello > cordova platform add windows

Вот соответствующий подход используя инструменты командной строки более низкого уровня:

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

Этот проект нацелен на Windows 8.1 как целевую ОС по умолчанию. Вы можете выбрать целевой 8.0 или 10.0 (см. "Настройка целевой версии Windows" ниже) для всех сборок, или вы можете ориантироваться на конкретную версию при каждом построении.

Построение проекта

Если вы используете CLI для разработки, каталог www проекта содержит исходные файлы. Запустите любую из нижеследующих команд в каталоге проекта для перепостроения приложения:

> cordova build > cordova build windows # do not rebuild other platforms > cordova build windows --debug # generates debugging information > cordova build windows --release # signs the apps for release

Вот соответствующий подход используя инструменты командной строки более низкого уровня:

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

Команда clean помогает очищать каталоги в рамках подготовки к следующей команде build :

C:\path\to\project\cordova\clean.bat

Настройка целевой версии Windows

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

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

После того, как вы добавите этот параметр, команда build начнет создавать пакеты Windows 8.1 и 8.1 Windows Phone.

Параметр --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 (для 10 универсальных приложений Windows). Эти параметры также применяются к команде cordova run .

Соображения по целевой версии Windows

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

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

Развертывание приложения

Развертывание пакета 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 чтобы увидеть все доступные цели и cordova run windows --target=target_name -- -|-phone для запуска приложения на конкретном устройстве или эмуляторе (например, cordova run windows --target="Emulator 8.1 720P 4.7 inch" -- --phone).

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

Откройте проект в SDK и развертывание приложения

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

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

Элементы управления ниже главного меню Visual Studio позволяют вам тестировать или развертывать приложения:

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

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

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

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

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

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

Примечание: Сверяйтесь с разделом "Введение" для понимания когда использовать инструменты командной строки Cordova а когда инструменты SDK в вашем рабочем процессе. Cordova CLI опирается на кросс платформенной исходный код, который постоянно перезаписывает файлы платформы, используемые SDK. Если вы хотите использовать SDK для изменения проекта, используйте низкоуровневые инструменты командной строки как альтернативу CLI.

cordova.apache.org

Перенос приложений на универсальную платформу Windows (UWP)

Эта документация перемещена в архив и не поддерживается.

 

Вручную внесите необходимые изменения в существующие файлы проектов для приложений Магазина Windows 8.1, Windows Phone 8.1 или универсальных приложений Windows, созданных с помощью версии-кандидата Visual Studio 2015, чтобы их можно было использовать в окончательной первоначальной версии Visual Studio 2015. (Если у вас есть универсальное приложение Windows 8.1 с проектом приложения Windows и проектом Windows Phone, инструкции по миграции нужно будет выполнить для каждого проекта.)

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

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

Перенос файлов проекта C# или Visual Basic

  1. Чтобы определить установленную универсальную платформу Windows, откройте следующую папку: \Program Files (x86)\Windows Kits\10\Platforms\UAP. Она содержит список папок для каждой установленной универсальной платформы Windows. Имя папки соответствует версии установленной универсальной платформы Windows. Например, для устройства с ОС Windows 10 устанавливается универсальная платформа Windows версии 10.0.10240.0.

    Откройте папку, чтобы посмотреть установленные версии.

    Можно установить несколько версий универсальной платформы Windows. Мы рекомендуем использовать последнюю версию для вашего приложения.

  2. Используя проводник, перейдите в папку, где хранится проект UWP. Создайте JSON-файл в этой папке. Назовите файл project.json, а затем добавьте в него следующее содержимое.

    { "dependencies": { "Microsoft.ApplicationInsights": "1.0.0", "Microsoft.ApplicationInsights.PersistenceChannel": "1.0.0", "Microsoft.ApplicationInsights.WindowsApps": "1.0.0", "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0" }, "frameworks": { "uap10.0": {} }, "runtimes": { "win10-arm": {}, "win10-arm-aot": {}, "win10-x86": {}, "win10-x86-aot": {}, "win10-x64": {}, "win10-x64-aot": {} } }
  3. Создайте файл default.rd.xml с приведенным ниже содержимым. Если у вас есть проект Visual Basic, добавьте этот файл в каталог My Project проекта. Если у вас есть проект C#, добавьте этот файл в каталог Properties проекта.

    <?xml version="1.0"?> <!-- This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most developers. However, you can modify these parameters to modify the behavior of the .NET Native optimizer. Runtime Directives are documented at http://go.microsoft.com/fwlink/?LinkID=391919 To fully enable reflection for App1.MyClass and all of its public/private members <Type Name="App1.MyClass" Dynamic="Required All"/> To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32 <TypeInstantiation Name="App1.AppClass" Arguments="System.Int32" Activate="Required Public" /> Using the Namespace directive to apply reflection policy to all the types in a particular namespace <Namespace Name="DataClasses.ViewModels" Seralize="All" /> --> <Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata"><Application> <!-- An Assembly element with Name="*Application*" applies to all assemblies in the application package. The asterisks are not wildcards. --> <Assembly Dynamic="Required All" Name="*Application*"/> <!-- Add your application specific runtime directives here. --> </Application></Directives>
  4. Откройте решение, которое содержит существующее приложение Магазина Windows 8.1 или приложение для Windows Phone 8.1, в Visual Studio.

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

    Щелкните правой кнопкой мыши проект и выберите команду "Редактирование".
  6. Найдите элемент <PropertyGroup>, который содержит элемент <TargetPlatformVersion> со значением 8.1. Для этого элемента <PropertyGroup> выполните указанные ниже действия.

    1. Установите для элемента <Platform> значение x86.

    2. Добавьте элемент <TargetPlatformIdentifier> и присвойте ему значение UAP.

    3. Измените текущее значение элемента <TargetPlatformVersion> на установленную версию универсальной платформы Windows. Кроме того, добавьте элемент <TargetPlatformMinVersion> и присвойте ему такое же значение.

    4. Измените значение элемента <MinimumVisualStudioVersion> на 14.

    5. Замените элемент <ProjectTypeGuids>, как показано ниже.

      Для C#:

      <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

      Для Visual Basic:

      <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    6. Добавьте элемент <EnableDotNetNativeCompatibleProfile> и присвойте ему значение true.

    7. Масштаб ресурса по умолчанию для универсальных приложений Windows — 200. Если проект включает ресурсы, масштаб которых отличается от 200, потребуется добавить в элемент PropertyGroup элемент <UapDefaultAssetScale> со значением масштаба имеющихся ресурсов. Узнайте больше о ресурсах и масштабах.

      Теперь элемент <PropertyGroup> должен выглядеть так, как показано в примере ниже.

      <PropertyGroup> … <Platform Condition=" '$(Platform)' == '' ">x86</Platform> <TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion> <TargetPlatformMinVersion>10.0.10240.0</TargetPlatformMinVersion> <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier> <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion> <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile> <UapDefaultAssetScale>100</UapDefaultAssetScale> … </PropertyGroup>
  7. Замените все вхождения значения 12.0 на значение 14.0 в соответствии с версией Visual Studio, которая теперь используется. Например:

    <Project Tools Version="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' "> <VisualStudioVersion>14.0</VisualStudioVersion>
  8. Найдите элементы <PropertyGroup>, настроенные для платформы AnyCPU, в составе атрибута Condition. Удалите эти элементы и все их дочерние элементы. Платформа AnyCPU не поддерживается для приложений Windows 10 в Visual Studio 2015. Например, следует удалить следующие элементы <PropertyGroup>:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\Release\</OutputPath> <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup>
  9. Для каждого оставшегося элемента <PropertyGroup> проверьте, имеет ли он атрибут Condition с конфигурацией выпуска. Если имеет, но не содержит элемент <UseDotNetNativeToolchain>, добавьте его. Присвойте элементу <UseDotNetNativeToolchain> значение true, как показано ниже.

    <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <OutputPath>bin\x64\Release\</OutputPath> <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants> <Optimize>true</Optimize> <NoWarn>;2008</NoWarn> <DebugType>pdbonly</DebugType> <PlatformTarget>x64</PlatformTarget> <UseVSHostingProcess>false</UseVSHostingProcess> <ErrorReport>prompt</ErrorReport> <Prefer32Bit>true</Prefer32Bit> <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> </PropertyGroup>
  10. Для проектов Windows Phone удалите элемент <PropertyGroup>, содержащий элемент <TargetPlatformIdentifier> со значением WindowsPhoneApp. Также удалите все его дочерние элементы.

    <PropertyGroup Condition=" '$(TargetPlatformIdentifier)' == '' "> <TargetPlatformIdentifier>WindowsPhoneApp</TargetPlatformIdentifier> </PropertyGroup>
  11. Найдите элемент <ItemGroup>, содержащий элемент <AppxManifest>. Добавьте следующий элемент <None> в качестве дочернего элемента для элемента <ItemGroup>.

    <None Include="project.json" />
  12. Найдите элемент <ItemGroup>, содержащий другие активы, добавляемые в проект, например PNG-файлы логотипов (<Content Include="Assets\Logo.scale-100.png" />). Добавьте в этот элемент <ItemGroup> следующий дочерний элемент <Content>:

    Для C#:

    <Content Include="Properties\default.rd.xml" />

    Для Visual Basic:

    <Content Include="My Project\default.rd.xml" />
  13. Найдите элемент <ItemGroup>, который содержит дочерние элементы элемента ссылки (<Reference>) на пакеты NuGet. Запишите пакеты NuGet, которые вы использовали, так как их потребуется загрузить с помощью диспетчера пакетов NuGet после перезагрузки проекта. Удалите этот элемент <ItemGroup> вместе с его дочерними элементами. Например, проект UWP может содержать следующие пакеты NuGet, которые необходимо удалить.

    <ItemGroup> <Reference Include="Microsoft.ApplicationInsights, Version=0.14.3.177, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.ApplicationInsights.0.14.3-build00177\lib\portable-win81+wpa81\Microsoft.ApplicationInsights.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.ApplicationInsights.Extensibility.Windows, Version=0.14.3.177, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.ApplicationInsights.WindowsApps.0.14.3-build00177\lib\win81\Microsoft.ApplicationInsights.Extensibility.Windows.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.ApplicationInsights.PersistenceChannel, Version=0.14.3.186, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.ApplicationInsights.PersistenceChannel.0.14.3-build00177\lib\portable-win81+wpa81\Microsoft.ApplicationInsights.PersistenceChannel.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Numerics.Vectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Numerics.Vectors.4.0.0\lib\win8\System.Numerics.Vectors.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Numerics.Vectors.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Numerics.Vectors.4.0.0\lib\win8\System.Numerics.Vectors.WindowsRuntime.dll</HintPath> <Private>True</Private> </Reference> </ItemGroup>
  14. Сохраните изменения.

  15. Закройте файл CSPROJ или VBPROJ.

  16. Щелкните проект правой кнопкой мыши в обозревателе решений и выберите в контекстном меню команду "Перезагрузить проект". Все файлы проекта теперь должны отображаться в обозревателе решений.

  17. Используйте диспетчер NuGet, чтобы снова добавить в проект пакеты, удаленные в предыдущем шаге.

    Теперь необходимо выполнить инструкции по обновлению файлов манифеста пакета для всех проектов для Магазина Windows 8.1 и Windows Phone 8.1.

Перенос файлов проекта C++

  1. Чтобы определить установленную универсальную платформу Windows, откройте следующую папку: \Program Files (x86)\Windows Kits\10\Platforms\UAP. Она содержит список папок для каждой установленной универсальной платформы Windows. Имя папки соответствует версии установленной универсальной платформы Windows. Например, для устройства с ОС Windows 10 устанавливается универсальная платформа Windows версии 10.0.10240.0.

    Откройте папку, чтобы посмотреть установленные версии.

    Можно установить несколько версий универсальной платформы Windows. Мы рекомендуем использовать последнюю версию для вашего приложения.

  2. Откройте решение, которое содержит существующее приложение Магазина Windows 8.1 или приложение для Windows Phone 8.1 на языке C++, в Visual Studio.

    Щелкните правой кнопкой мыши существующий проект в обозревателе решений и выберите пункт Выгрузить проект. После выгрузки проекта щелкните его файл правой кнопкой мыши еще раз и выберите команду изменения файла VCXPROJ.

    Щелкните правой кнопкой мыши файл проекта и выберите команду редактирования.
  3. Найдите элемент <PropertyGroup>, который содержит элемент <ApplicationTypeRevision> со значением 8.1. Для этого элемента <PropertyGroup> выполните указанные ниже действия.

    1. Добавьте элемент <WindowsTargetPlatformVersion> и элемент <WindowsTargetPlatformMinVersion> и присвойте им значение установленной версии универсальной платформы Windows.

    2. Обновите значение элемента ApplicationTypeRevision с 8.1 до 10.0.

    3. Измените значение элемента <MinimumVisualStudioVersion> на 14.

    4. Добавьте элемент <EnableDotNetNativeCompatibleProfile> и присвойте ему значение true.

    5. Масштаб ресурса по умолчанию для универсальных приложений Windows — 200. Если проект включает ресурсы, масштаб которых отличается от 200, потребуется добавить в элемент PropertyGroup элемент <UapDefaultAssetScale> со значением масштаба имеющихся ресурсов. Узнайте больше о ресурсах и масштабах.

    6. Только для проектов Windows Phone измените значение элемента <ApplicationType> с Windows Phone на Windows Store.

      Теперь элемент <PropertyGroup> должен выглядеть так, как показано в примере ниже.

      <PropertyGroup> … <WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion> <ApplicationType>Windows Store</ApplicationType> <ApplicationTypeRevision>10.0</ApplicationTypeRevision> <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion> <EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile> <UapDefaultAssetScale>100</UapDefaultAssetScale> … </PropertyGroup>
  4. Присвойте всем экземплярам элемента <PlatformToolset> значение v140. Примеры. 

    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> <PlatformToolset>v140</PlatformToolset> <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> </PropertyGroup>
  5. Для каждого оставшегося элемента <PropertyGroup> проверьте, имеет ли он атрибут Condition с конфигурацией выпуска. Если имеет, но не содержит элемент <UseDotNetNativeToolchain>, добавьте его. Присвойте элементу <UseDotNetNativeToolchain> значение true, как показано ниже.

    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> <PlatformToolset>v140</PlatformToolset> <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain> </PropertyGroup>
  6. Сохраните изменения. Закройте файл проекта.

  7. Щелкните файл проекта правой кнопкой мыши в обозревателе решений и выберите в контекстном меню команду "Перезагрузить проект". Все файлы проекта теперь должны отображаться в обозревателе решений.

    Теперь необходимо выполнить инструкции по обновлению файлов манифеста пакета для всех проектов для Магазина Windows 8.1 и Windows Phone 8.1.

Файл манифеста пакета необходимо обновить для каждого проекта в рамках решения.

Обновление файла манифеста пакета

  1. Откройте файл Package.appxmanifest в проекте. Файл Package.AppxManifest необходимо изменить для каждого проекта приложения Магазина Windows и приложения для Windows Phone.

  2. Вам нужно обновить элемент <Package>, используя новые схемы в соответствии с типом существующего проекта. Сначала удалите указанные ниже схемы в соответствии с типом проекта (приложение Магазина Windows или приложение для Windows Phone).

    Прежний вариант для проекта Магазина Windows: элемент <Package> выглядит следующим образом:

    <Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">

    Прежний вариант для проекта Windows Phone: элемент <Package> выглядит следующим образом:

    <Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">

    Новый вариант для универсальной платформы Windows: добавьте приведенные ниже схемы в элемент <Package>. Удалите из элементов префиксы идентификаторов пространств имен, связанные со схемами, которые вы удалили. Обновите свойство IgnorableNamespaces, присвоив ему значение uap mp. Новый элемент <Package> должен выглядеть следующим образом:

    <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" IgnorableNamespaces= "uap mp">
  3. Добавьте в элемент <Package> дочерний элемент <Dependencies>. Затем добавьте в этот элемент <Dependencies> дочерний элемент <TargetDeviceFamily> с атрибутами Name, MinVersion и MaxVersionTested. Присвойте атрибуту Name следующее значение: Windows.Universal. В качестве значений атрибутов MinVersion и MaxVersionTested укажите установленную версию универсальной платформы Windows. Этот элемент должен выглядеть следующим образом:

    <Dependencies> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10069.0" MaxVersionTested="10.0.10069.0" /> </Dependencies>
  4. Только для проектов Магазина Windows. В элемент <Package> необходимо добавить дочерний элемент <mp:PhoneIdentity>. Добавьте атрибуты PhoneProductId и PhonePublisherId.

msdn.microsoft.com

Windows 10 Mobile – ключевая часть универсальной платформы Windows

Опять хороним Windows Phone? Давайте попробуем разобраться в том, почему роль Windows 10 Mobile является крайне важной для Microsoft, и почему потопить этот, наполовину ушедший под воду корабль, просто так нельзя.

В какой уже раз индустрия и «аналитики» хоронят Windows Phone? На протяжении последнего года фраза «Windows Phone наконец умерла» встречалась повсюду, даже на сайтах, имеющих крайне отдаленное отношение к предмету. Но чего греха таить? Microsoft действительно проиграла рынок смартфонов и несколько дней назад окончательно признала это, объявив об увольнении еще полторы тысячи сотрудников и радикальной смене стратегии. Для многих, кто не особо разбирается в теме, это означает только одно – смерть Windows 10 Mobile. На самом ли деле?

Никто здесь не собирается защищать Windows 10 Mobile и слепо утверждать, разрывая себе одно место, что Microsoft все еще сможет. Нет, даже для самых преданных фанатов очевидно, что для Microsoft традиционная игра «догони Apple» проиграна. Уже давно проиграна. А о Google даже смысла говорить нет. Но не все понимают, что отказ Microsoft от глобального производства смартфонов и конкуренции с Apple/Google не означает закрытие Windows 10 Mobile.

Во-первых, надо не забывать, что Microsoft не прекратит делать смартфоны. Она будет делать это по-другому. Совершенно другая стратегия и другой подход. Другие способы продаж. Теперь Microsoft не собирается гоняться за обычными пользователями, насильно втюхивая им свои смартфоны. Компания уходит туда, где еще есть хоть какая-нибудь репутация. Речь о корпоративном сегменте. Более подробно об этом можно прочитать в этой статье. Так что смартфоны Microsoft (Surface Phone?) будут далее выпускаться.

Во-вторых, не стоит сбрасывать со счетов других производителей. Microsoft пытается заставить остальных OEM делать свои Windows 10-устройства уже долгое время. Монополия Microsoft на рынке Windows Phone мотивирована исключительно усилиями Nokia и учитывая тот факт, что Microsoft держит 95% рынка и платформа не особо популярная, другие производители попросту игнорируют ее. Но все же есть те, кто может себе позволить выпуск плиточных смартфонов. Тот же Acer, HP, Vaio и армия (ну, может парочка) китайский, малоизвестных (окей, никому неизвестных) брендов. Microsoft из кожи вон лезет, чтобы привлечь более известные имена. Но там пока только Acer и HP. Да и представленные устройства от этих компаний ориентированы на ту категорию пользователей, куда сейчас уходит Microsoft.

Так почему Windows 10 Mobile не убьют? Может хватит уже пинать дохлую лошадь? Ответ кроется в общей стратегии Microsoft и их универсальной платформе UWP.

Microsoft потратила много месяцев (даже лет), усилий и денег на создание по-настоящему универсальной платформы. Это удалось. Разработчики под Windows 10 сейчас пишут один код, который используется сразу на всех устройствах. Для оптимизации надо только поправить дизайн и некоторые особенности, что занимает весьма немного времени или усилий. Здесь даже речь идет не о едином коде, а о едином приложении.

Алан Менделевич, CEO AdDuplex, в своем блоге рассказал о статистике использования их приложения AppRaisin на Windows 10. Оттуда можно узнать весьма любопытные подробности об активности пользователей Windows 10.

Сейчас в мире насчитывается больше 300 миллионов активных юзеров Windows 10 (ПК). Пользователей Windows 10 Mobile меньше в десятки (а может и в сотни) раз, но интересный факт заключается в том, что подавляющее большинство аудитории приложения AppRaisin использует именно Windows 10 Mobile. Если быть точным, то на Windows 10 Mobile припадает 75% пользователей. Не правда ли, забавно, что такой маленький, уменьшающийся с каждым днем рынок, приносит разработчикам больше пользователей, чем огромный ПК-сегмент Windows 10.

Я нахожу смешным то, что на конференции BUILD в этом году мне сообщили о распределение пользователей универсальных приложений Windows 10/Windows 10 Mobile. Утверждают, что соотношение составляет примерно 50/50. А по нашим данным этот показатель примерно на уровне 5/95.

OneCore (единое ядро, используемое на всех версиях Windows 10) крайне важно для Microsoft, поскольку позволяет экономить деньги и время, затраченное на разработку и оптимизацию Windows под устройства различных форм-факторов. Для конечного пользователя и разработчика это превращается в возможность запускать одно и то же приложение на всех устройствах.

Нет сомнений, что в ближайшем будущем доминирующим форм-факторов будет именно ПК. Но как насчет других устройств, входящих в семейство Windows 10? Может за их счет можно вырулить универсальную платформу, а о Windows 10 Mobile забыть, как о кошмарном сне?

Xbox One? Да, летом эту консоль научат работать с универсальными приложениями Windows 10. Это случится с приходом обновления Anniversary Update. Но это крайне специфическая аудитория пользователей, которой надо в игрушки играть или воспроизводить медиаконтент. Да и далеко не каждый разработчик посчитает нужным оптимизировать свое приложение под Xbox. Internet of Things? Еще более нишевая категория. HoloLens? Обычный пользователь еще не скоро получит возможность купить этот шлем (3000 долларов для разработчиков). Да и для полного раскрытия потенциала кодеры должны писать приложения специально под HoloLens. Такие приложения будут менее востребованы на компьютерах или смартфонах, если будут выполнять свою задачу и идею вообще. Surface Hub? Нечего сказать, исключительно корпоративное устройство. Да и вряд ли вы увидите его в России в ближайшие пару лет в какой-нибудь крупной компании, не говоря уже о домашнем использовании.

Вывод? Единственным массовым устройством, способным полноценно работать с UWP-приложениями (после компьютера) является смартфон на Windows 10 Mobile. Поддержка этой версии Windows 10 является для Microsoft более важным заданием, чем просто присутствие на рынке мобильных устройств. Отказ от Windows 10 Mobile будет отказом от концепции универсальных приложений. А на UWP было потрачено слишком много времени и сил. Да и потенциал у платформы гораздо больше, чем можно представить. Именно поэтому Microsoft будет далее продолжать что-то сделать со своим проблемным продуктом, отчаянно пытаясь найти себя.

Корпоративный сегмент и другие OEM. Вот два ключевых фактора, которые в теории помогут компании хоть как-то поддерживать тлеющий интерес к Windows 10 Mobile. Но мы в любом случае не можем знать наверняка. Будущее покажет к чему приведет очередная перезагрузка.

Статья написана по материалам @ailon | MEDIUM

wp-seven.ru