→ Программирование под windows 10 mobile. Как создать свое первое приложение для Windows Phone. Пример разработки на конструкторе Microsoft App Studio. Лицензия и разблокировка устройства

Программирование под windows 10 mobile. Как создать свое первое приложение для Windows Phone. Пример разработки на конструкторе Microsoft App Studio. Лицензия и разблокировка устройства

Телефоны на Windows 10 Mobile появились с существенной задержкой относительно Android и iOS, пообещав за потерянное время лучшие возможности. Обещание оказалось пустым, а ведь это был ключевой момент в развитии Windows, как универсальной системы для всех устройств. Более того, приложения в Windows 10 остаются настолько инородными, что даже спустя столько лет существования Microsoft Store остаётся в разы беднее App Store и Google Play.

Тем не менее, говорить о том, что умение разрабатывать приложения для Windows 10 бесполезно – преждевременно. Во-первых, у Microsoft есть желание в 2017-2018 году запустить серию мобильных телефонов под линейкой Surface, рассчитанную на бизнес-аудиторию, то есть занять нишу, освобождённую после ухода с рынка BlackBerry.

Во-вторых, даже с учётом неизменного падения рынка смартфонов на WM, на компьютерах Windows по-прежнему доминирует, да и HoloLens обещает подогреть интерес. В-третьих, полупустой, но всё же общий магазин приложений предполагает куда большие возможности по привлечению аудитории.

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

Знакомство

Первым делом поближе познакомьтесь со универсальной платформой для приложений, которая с этого места будет носить своё официальное название – Universal Windows Platform или просто UWP. Появилась она ещё во времена Windows 8, а сегодня обросла всеми необходимыми удобствами. Концепция хоть и носит лозунг «одно приложение для всех устройств», но для хорошего приложения ориентироваться на отдельный тип всё-таки придётся. В общем, все возможности и ограничения UWP вы узнаете если прочитаете официальный релиз от Microsoft:

Язык

В информационном листе Microsoft вы можете найти следующую фразу: «Вы можете создавать приложения UWP на тех языках программирования, с которыми вы знакомы лучше всего…». Фактически, это не совсем так. Вам на выбор предлагаются 4 из них: C# , Visual Basic , C++ и JavaScript . Безусловно, это лучше, чем строгое ограничение, но универсальностью это назвать затруднительно.

Кстати, справочники по всем четырём языкам можно найти непосредственно на сайте Microsoft или просто нажав на предоставленные ссылки. Также на нашем сайте вы можете пройти бесплатный .

Программное обеспечение

Главное детище Microsoft, ориентированное на разработчиков приложений для всевозможных платформ – Visual Studio. Скачать его можно также с официального сайта , выбрав подходящую версию. Как с ним работать, какие в вашем распоряжении могут быть инструменты, а главное куда надо нажимать, вы узнаете из руководства . Обязательным для скачивания будет и пакет SDK . На этой же странице вы найдёте всю интересующую информацию по работе с ним.

Есть и альтернативный вариант создания приложения для Windows 10 для тех, кому окунаться в мир Visual Studio немного рано. Знакомьтесь, Windows App Studio . Фактически, это конструктор приложения с набором шаблонов, который поможет быстро визуализировать вашу идею.

Оформление

Как и положено уважаемой компании, Microsoft выпустил для своих разработчиков достаточно подробное руководство по оформлению приложений UWP. Здесь вы найдёте ответы на все интересующие вопросы: от типовых размеров экрана до описания командных элементов, от стандартных цветов до шаблонов Adobe Photoshop и Illustrator.

Разработка приложения

Здесь же вы найдёте информацию относительно того, как повысить популярность и производительность приложения, как выводить деньги, какие условия сотрудничества с Microsoft и так далее.

Литература

В конце перечислим несколько популярных книг и ресурсов, которые помогут создать идеальное приложение для Windows:

Windows 10 Development for Absolute Beginners – как понятно из названия, эта книга посвящена желающим создать своё первое приложение именно на Windows 10;

Building Windows 10 Applications with XAML and C# Unleashed (2nd Edition) , Adam Nathan – и вновь название книги красноречиво отражает её содержание;

Real World Windows 10 Development , Edward Moemeka, Elizabeth Moemeka – полноценный гид по разработке приложения для Windows 10, начинающийся с обзора самой ОС, её преимуществ и недостатков, и завершающийся верификацией и выгрузкой созданного вами объекта;

Location Intelligence for Windows Store apps , Ricky Brundritt – подробное руководство по разработке приложений для Windows. Посвящена 8 части ОС, поэтому периодически необходимо сверяться с официальной документацией, что ничуть не снижает ценности данной литературы;

– в книге довольно обще описается жизненный цикл Windows-приложения и куда подробнее – сторонних функций и инструментов;

Форум разработчиков Windows – задать вопросы и обсудить насущные проблемы разработки;

A Developer"s Guide to Windows 10 – часовой видеоурок, который поможет разобраться во всех тонкостях;

Последнее обновление: 12.04.2017

UWP (Universal Windows Platform) представляет собой унифицированную платформу для создания и запуска приложений в Windows 10 и Windows 10 Mobile.

UWP стала результатом фолюции более ранних технологий. Так, с выходом Windows 8 была внедрена новая архитектурная платформа для приложений - Windows Runtime (WinRT), которая позволяла запускать приложения в так называемом режиме Modern (Metro) на десктопах, планшетах. Затем с выходом Windows 8.1 и Windows Phone 8.1 эта технология получила развитие - появились "универсальные приложения", которые можно было запускать сразу Windows 8.1 и WP8.1. И в июле 2015 года официально вышла новая ОС Windows 10. Она использует платформу UWP, которая представляет собой развитие Windows Runtime.

Как подсказывает название платформы, она является универсальной - универсальной для всех устройств экосистемы Windows 10. А это обычные дестопы, планшеты, мобильные устройства, устройства IoT (интернет вещей), Xbox, устройства Surface Hub. И приложение UWP может одинаково работать на всех этих платформах, если на них установлена Windows 10.

Почему UWP?

Программирование под UWP несет ряд преимуществ:

    Широта распространения . На текущий момент (апрель 2017) Windows 10 установлена уже более чем на 400 миллионах устройств. На десктопах Windows 10 уже опередила Windows 8/8.1.

    Поддержка широкого круга устройств . Десктопы, планшеты, смартфоны, большие планшеты Surface Hub, различные IoT-устройства, в перспективе устройства виртуальной реальности HoloLens - круг устрйоств, на которых может работать Windows 10 действительно широк.

    Поддержка разных языков и технологий программирования . UWP-приложения можно создавать с помощью таких языков, как Visual C++, C#, Visual Basic, JavaScript. В качестве технологии для создания графического интерфейса Visual C++, C# и Visual Basic используют XAML, JavaScript применяет HTML. Кроме того, С++ может вместо XAML использовать DirectX. То есть достаточно распространенные и и знакомые многим технологии.

    Магазин приложений и удобство распространения . Windows Store представляет собой прекрасное место для распространения UWP-приложений, как платных, так и бесплатных. Сами возможности платформы и магазина Windows Store позволяют использовать разные способы монетизации. Например, можно интегрировать в приложения блоки для показа рекламы через различные SDK. Можно распространять за определенную плату, причем оплату можно гибко настраивать. При необходимости можно встроить предоставление ознакомительной версии, после использования которой пользователь может решить, покупать приложение или нет. И также можно монетизировать по модели freemium, при которой приложение условно бесплатное, а отдельные услуги внутри приложения предоставляются за определенную плату. Причем все эти возможности монетизации обесечиваются встроенными инструментами SDK.

    Богатые возможности платформы . UWP многое наследует от Windows Runtime из Windows 8.1 и в то же время предоставляет много новых функцональностей, как, более богатые возможности по интеграции с облаком, использование Cortana, системы уведомлений в Win10 и многое другое.

Что необходимо для разработки под UWP

Для программирования под UWP необходима ОС Windows 10. Все другие операционные системы, как Windows 8.1/8/7, не говоря уже о Windows XP, не подходят !

Также потребуется среда разработки Visual Studio 2017 Community. Это полнофункциональная бесплатная среда разработки, которую можно загрузить с официального сайта по адресу https://www.visualstudio.com/downloads/download-visual-studio-vs .

Также можно использовать версию VS 2015, а все остальные предыдущие версии Visual Studio - 2013, 2012, 2010 и т.д. с UWP не работают.

При установке Visual Studio 2017 в программе установщика необходимо отметить соответствующий пункт:

Перед чем как начать создание приложений, убедитесь, что в центре обновления в Windows 10 установлена соответствующая опция для разработчиков:

И имея Windows 10 и установленную Visual Studio 2017, можно приступать к разработке приложений.

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

Думаю, все уже знают откуда и как взять свою копию ОС Windows 10, - не станем задерживаться на этом моменте. Установка производится аналогично установке Windows 8. Если собираетесь обновить систему, настоятельно рекомендую сделать бэкап файлов с системного диска.

Инструменты

Какие инструменты для разработки можно использовать? Вам понадобится новая MS Visual Studio 2015 . Сейчас доступны бесплатная редакция Visual Studio 2015 Community Edition и платные редакции Professional и Enterprise.

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

Лицензия и разблокировка устройства

Как и при разработке для Windows 8/8.1, потребуется лицензия разработчика. Она получается аналогично лицензии разработчика Windows 8/8.1 при создании первого проекта прямо в Visual Studio (это не то же самое, что аккаунт для публикации в магазине). Для установки приложений на устройства не забудьте их разблокировать:

Универсальные приложения

Что нового ждет разработчика? Анонсировано, что универсальное приложение можно запустить на любой платформе Windows 10. Это реализовано через систему различных API. То есть существует слой API, общий для всех платформ (Universal Windows Platform, UWP). Если приложение использует только его возможности, оно будет работать на всех платформах c UWP.


Сейчас в коллекции представлены следующие шаблоны проектов:

  • Blank App, основной проект XAML с одной страницей. Подобен стандартному Blank App, включенному в 10 SDK Windows, но без Application Insights телеметрии.
  • SplitView App, многостраничный проект приложения с адаптивным SplitView-контролом.
  • Composition App, проект, не использующий стандартную библиотекуи компонентов, вместо нее используется Windows.UI.Composition API,
  • Composition XAML App, проект с использованием XAML и Windows.UI.Composition API.

Есть мнение, что в реальной жизни смартфоны с ОС от Microsoft встречаются так же часто, как люди с отчеством «Артёмович». Странная (мягко говоря) политика «Корпорации зла» в отношении седьмого и восьмого семейств мобильной операционной системы отвратила множество пользователей от экспериментов с «окошками» для смартфонов, и сейчас корпорация всерьез взялась за исправление своего имиджа в этой пользовательской нише. Как подпольный фанат Microsoft я надеюсь, что у них все получится - «десятка» шагает по планете, ее главный козырь - одно ядро для всех платформ, и поэтому у нее есть все шансы перетянуть на себя хорошую часть мобильного рынка. А как программист я с удовольствием сделаю для тебя вводную статью по разработке под эту мобильную ось, чтобы ты всегда был готов к росту ее популярности:).

Обзор архитектуры

Благодаря общему ядру и системе выполнения приложений UWP однажды написанное приложение будет работать на всех девайсах под управлением Windows 10. В этот диапазон входят:

  • настольные компьютеры;
  • серверные системы - ОС Windows Server 2016;
  • ноутбуки - MS Surface Book;
  • планшеты - MS Surface Pro;
  • смартфоны - Lumia;
  • игровые приставки - Xbox One;
  • очки дополненной реальности - MS HoloLens;
  • настенные планшеты - MS Surface Hub;
  • умные часы - MS Band 2.

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

UWP поддерживает драйверы как уровня ядра, так и пользовательского уровня. Подсистема включает интерфейсы драйверов устройств (Device Driver Interface - DDI), из числа которых драйвер для UWP может использовать.

Но это все не избавляет разработчика от подгонки интерфейса под определенные платформы и разрешения экрана. В каких-то особенных случаях, возможно, это и не понадобится.

Инструменты разработчика

Для написания, отладки, развертывания и тестирования приложений под Windows 10 Mobile тебе понадобится Visual Studio 2015 (кто бы сомневался). Этим летом вышел третий апдейт. Категорически рекомендую! Основной его багфикс - это уменьшенное потребление памяти по сравнению со вторым апдейтом.

Также тебе понадобится Windows 10 Anniversary Update SDK : он включает все необходимые инструменты для разработки приложений под весь парк устройств, работающих на Windows 10. Если же используется VS 2015 с третьим обновлением, тогда в нее уже входит новейший SDK.

Одно из главных новшеств - это чернила Windows (Windows Ink). С помощью этого API можно двумя строчками кода добавить поддержку пера. Для этого существуют два объекта управления: InkCanvas и InkToolbar.

Новый Cortana API упрощает реализацию управления голосом. Компонент Cortana Actions в новом API позволяет создавать новые фразы/выражения.

Биометрическая аутентификация Windows Hello теперь стала доступна веб-разработчикам в браузере Edge.

Средство для моделирования пользовательских интерфейсов Blend for Visual Studio 2015 предоставляет расширенные возможности построения интерфейса по сравнению с VS. С его помощью на языке XAML можно создавать макеты всех поддерживаемых приложений: прикладных, веб, универсальных, мобильных и так далее. Также он содержит конструкторы для дополнительных задач, среди них создание анимации и управление поведением элементов.

Способы создания приложений для Windows 10 Mobile

Основной способ создания приложений для смартфонов с Windows 10 Mobile - это разработка универсальных (UWP) приложений (свиток Visual C# → Windows → Universal мастеры создания проекта).

Однако он не единственный. Как ты знаешь, в Visual Studio 2015 встроен Xamarin, с его помощью тоже можно создавать приложения для Windows 10 Mobile, одновременно для Android и iOS, меняя интерфейс и оставляя программную логику на C# (Visual C# → Cross-Platform).

Кроме языка Visual C#, равнозначно может быть выбран Visual Basic или Visual C++. VS 2015 позволяет создавать универсальные приложения с помощью JavaScript (JavaScript → Windows → Универсальные приложения). Их также можно развернуть на устройстве с Windows 10 Mobile.

Инструменты для работы с унаследованными проектами

За долгую историю операционной системы Windows для нее было создано колоссальное количество самых разных приложений. С выходом Windows 8 и WinRT (а позже Windows 10 и UWP) старые классические приложения остались в прошлом, поскольку только в настольных Win 8 и Win 10 поддерживаются классические Win32-, COM-, .NET-приложения. От этого в Microsoft стало грустно. Но ребята смекнули, что могут разработать конвертер, который будет преобразовывать старые приложения для новой продвинутой UWP-подсистемы. Из этого родился Desktop App Converter .

Преобразование Xcode-проекта выполняется в два шага. Сначала надо добавить подсветку синтаксиса языка Objective-C в Visual Studio: установить расширение objc-syntax-highlighting.vsix из папки winobjc\bin. Затем с помощью утилиты командной строки vsimporter.exe надо преобразовать проект на Xcode в проект на VS. После этого полученный sln-файл можно открыть в студии, где синтаксис Objective-C будет подсвечен. Можешь построить и запустить приложение, оно будет выполняться так же, как все другие Windows-программы.

Разрази меня гром, как это удивительно - видеть в Visual Studio корректно подсвеченный код Objective-C!

Для компиляции кода Obj-C используется свободный компилятор Clang . Поскольку на выходе получается стандартное UWP-приложение, его можно запустить на мобильном устройстве в среде Windows 10 Mobile. В одной программе может быть код на C++ и на Obj-C.

Если у тебя есть проект для прошлой версии Windows Phone, то есть 8.1 (или 8.0), то, когда ты его откроешь в VS 2015, студия автоматически обновит проект, чтобы он соответствовал требованиям универсального приложения Windows (UWP). Будет преобразована не только разметка пользовательского интерфейса на XAML, но и вместе с ней программная логика на JS/C++/C#/VB. Если в коде были вызовы подсистемы WinRT, тогда они будут преобразованы в вызовы UWP.

Есть еще распространенный тип приложений - игры. iOS и Android визуализируют посредством низкоуровневого интерфейса OpenGL. С другой стороны, на Windows 10 Mobile для вывода изображения в играх используется DirectX 11. Получается несовместимость. Но есть решение - открытый проект ANGLE . ANGLE (Almost Native Graphics Layer Engine) - движок почти нативного графического слоя - позволяет пользователям Windows бесшовно запускать OpenGL ES приложения на аппаратуре, работающей с DirectX 11. Это достигается путем преобразования вызовов с OpenGL ES API на DirectX 11 API. ANGLE полностью поддерживает следующие три типа приложений:

  • универсальные приложения для Windows 10 (Universal Windows apps);
  • приложения для Windows 8.1 и Windows Phone 8.1;
  • классические приложения для рабочего стола Windows (Windows desktop applications).

Более подробно вопрос рассматривается в моей книге «Волшебство момента вращения » (опять ты книгу свою пиаришь! Ну лаадно, заслужил. - Прим. ред.).

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

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

 

 

Это интересно: