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

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

Инструментарий

Visual Studio 2010

Чтобы разрабатывать для Windows Phone потребуется Visual Studio 2010 c Service Pack 1 редакции Professional или выше. Если у вас нет Visual Studio 2010, при установке инструментария разработки для Windows Phone, автоматически будет установлена бесплатная версия Visual Studio 2010 Express for Windows Phone, на которой также можно разрабатывать приложения под Windows Phone.

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

Обратите внимание, что для того, чтобы отлаживаться на устройстве, помимо собственно устройства и кабеля для подключения к компьютеру, необходимо иметь установленное на компьютере со средствами разработки ПО Zune (http://zune.net). Также перед развертыванием приложения и отладкой, требуется зарегистрировать устройство («разлочить» его), используя утилиту Windows Phone Developer Registration Tool, которая устанавливается вместе с Windows Phone SDK.

Windows Phone SDK

Этот пакет, доступный для скачивания на сайте App Hub http://create.msdn.com содержит всё необходимое, для того, чтобы начать разработку. На момент написания этой статьи, последняя версия инструментария доступна в версии Windows Phone SDK 7.1 Release Candidate в лицензии «Go Live» с возможностью разрабатывать свои приложения и публиковать их в Windows Phone Marketplace. Windows Phone SDK 7.1 Release Candidate содержит следующие компоненты:

  • Windows Phone SDK 7.1
  • Windows Phone Emulator
  • Windows Phone SDK 7.1 Assemblies
  • Silverlight 4 SDK and DRT
  • Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
  • Expression Blend SDK for Windows Phone 7
  • Expression Blend SDK for Windows Phone OS 7.1
  • WCF Data Services Client for Windows Phone
  • Microsoft Advertising SDK for Windows Phone

Если у вас не установлена версия Visual Studio 2010 редакции Professional, Expression Bland 4 или XNA Game Studio 4.0, в процессе установки также будут скачаны и установлены:

  • Visual Studio 2010 Express for Windows Phone
  • Expression Blend 4 for Windows Phone
  • XNA Game Studio 4.0

Expression Blend и Expression Blend for Windows Phone

Expression Blend – это интерактивный визуальный дизайнер для XAML, технологии описания интерфейса для приложений Silverlight и Windows Presentation Foundation (WPF). Это отличное средство разработки, которое позволяет просто манипулировать слоями, анимацией, стилями и шаблонами. Это базовое средство разработки на XAML. Собственно программа Expression Blend не бесплатна, однако специальная версия для создания дизайнов приложений под Windows Phone под названием Expression Blend 4 for Windows Phone доступна для разработчиков бесплатно. Она закачается и установится в процессе установки Windows Phone SDK, если у вас на компьютере нет полной версии Expression Blend. Подробнее об Expression Blend 4 можно прочитать на MSDN:

XNA Game Studio 4.0

Windows Phone Emulator

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

Эмулятор Windows Phone Emulator не поддерживает проигрывание медиаконтента Zune. Эмулятор поставляется только с одним встроенным приложением Internet Explorer, но это Internet Explorer 9 с поддержкой HTML5.

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

Дополнительный инструментарий разработчика

Windows Phone Developer Registration Tool

Windows Phone Profiler

Windows Phone Profiler доступен в меню Debug Visual Studio с установленным инструментарием Windows Phone SDK.

Silverlight Toolkit for Windows Phone – набор полезных элементов управления Silverlight для Windows Phone с поддержкой режима дизайна, от команды разработчиков Silverlight. Доступен весь исходный код, примеры и документация. Обновляется приблизительно раз в три месяца, доступен по адресу http://silverlight.codeplex.com или через NuGet.

Текущий релиз включает в себя такие элементы управления, как ContextMenu, DatePicker и TimePicker, ToggleSwitch, WrapPanel и GestureHelper.

Среда разработки

После установки средств разработки Windows Phone SDK в диалоге New Project в Visual Studio появятся группы проектов для Silverlight for Windows Phone:

и в группе XNA Game Studio 4.0 добавятся проекты для Windows Phone:

Этот цикл статьей сфокусирован на разработке под Windows Phone на Silverlight, поэтому рассмотрим доступные разработчику приложений шаблоны несколько более подробно.

После установки разработчик получает в свое распоряжение следующие шаблоны приложений Silverlight for Windows Phone:

  • Windows Phone Application
  • Windows Phone Databound Application
  • Windows Phone Class Library
  • Windows Phone Silverlight and XNA Application

Перед тем как перейти непосредственно к шаблонам приложений, надо сказать несколько слов по поводу Windows Phone и Windows 8-style UI.

Windows Phone и Windows 8-style UI

Windows Phone – это не просто очередная платформа для мобильных устройств. Она содержит в себе не только технологическую составляющую, но и полностью проработанную концепцию дизайна интерфейса и взаимодействия с пользователем под названием Windows 8-style UI или стиль Windows 8-style UI.

Если вы дизайнер или в вашей команде есть выделенный дизайнер, вы можете воспользоваться всей мощью инструментария Expression Blend 4 или Expression Blend for Windows Phone, которая поставляется вместе с Windows Phone SDK.

Что же делать если вы разработчик и не хотите заниматься визуальным дизайном приложения, например, вы разрабатываете бизнес-приложение и всё что от него требуется, соответствовать общему дизайну и стилю Windows Phone?

Всё очень просто. Во-первых, Silverlight для телефона разработан с учетом требований Windows 8-style UI, поэтому все встроенные элементы управления выполнены в стиле Windows 8-style UI. Во-вторых, по умолчанию, приложения, созданные из шаблонов из поставки Windows Phone SDK, работают, выглядят и используют стили и шрифты в соответствии с Windows 8-style UI.

С другой стороны, возможностей стилизации элементов управления и приложений, основанных на XAML, которые представляет Silverlight, вполне достаточно, чтобы сделать свое приложение неповторимым и узнаваемым, оставаясь в рамках стиля Windows 8-style UI.

Руководство по дизайну интерфейсов и взаимодействию с пользователем для Windows Phone можно найти по следующей ссылке

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

Шаблоны приложений

Сначала давайте рассмотрим три шаблона, представляющих собой три основных стиля приложения для Windows Phone:

  • Windows Phone Application
  • Windows Phone Pivot Application
  • Windows Phone Panorama Application

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

Windows Phone Pivot Application – это некий аналог приложения с закладками, где заголовок каждой закладки определяет содержимое. Стандартный вариант использования – каждая закладка представляет собой одни и те же, в целом, данные, но в разных представлениях и/или с разной фильтрацией. Например, календарь, почтовый клиент и настройки телефона. Шаблон использует элемент управления Pivot.

Windows Phone Panorama Application – приложение-панорама, в котором зоны взаимодействия с пользователем также разделены на панели, но доступны они через горизонтальную прокрутку; фоновое изображение установлено сразу на всю панораму, она имеет общий заголовок, который прокручивается медленнее, чем панели; контент соседней панели справа виден при отображении текущей. Например, таким образом реализованы хабы в Windows Phone: People, Marketplace, Pictures, Music+Videos и др. Шаблон использует элемент управления Panorama.

Шаблоны, заканчивающиеся на Agent – это шаблоны библиотек, для выполнения соответствующих фоновых задач:

  • Windows Phone Audio Playback Agent
  • Windows Phone Audio Streaming Agent
  • Windows Phone Scheduled Task Agent

Шаблон Windows Phone Databound Application – простой шаблон приложения со списком – детальное представление с реализацией навигации между страницами с передачей параметров и хранением данных в глобальном ViewModel.

Шаблон Windows Phone Class Library – шаблон библиотеки классов для Windows Phone.

Шаблон Windows Phone Silverlight and XNA Application для Silverlight приложения, которое может использовать XNA для рендеринга графического контента.

Рано или поздно вопрос о создании мобильного приложения задает себе любой человек, считающий себя продвинутым пользователем одной из мобильных операционных систем. Над кем-то возобладает простой интерес, а кто-то, имея опыт в программировании, хочет попробовать свои силы в создании программ для мобильных платформ. Наша статья будет полезна и тем, и другим пользователям. Мы постараемся рассказать о “кухне” создания программ: из каких этапов состоит процесс, что необходимо для этого знать, какие инструменты понадобятся в работе и многое другое. В качестве примера платформы для создания приложений возьмём одну из операционных систем с наиболее активно развивающимся рынком программ — Windows 8.1.

По пунктам:

1. 2. 3. 4. 5. 6. 7.

Первый этап: идея

Создание любого приложения, неважно, для мобильной или десктопной платформы начинается с идеи . Прежде всего, разработчик ставит перед собой вопрос: “Чем моё приложение будет полезно пользователю?”. Если это программа, то её задача — помогать человеку выполнять какие-либо повседневные действия, оправдывая назначение смартфона быть карманным помощником. Если это игра, то в ней, в зависимости от жанра, обычно предполагаются интересный сюжет, красочная графика, увлекательный геймплей, либо и то, и другое, и третье вместе. Если аналогичная программа или игра уже существует, необходимо сразу продумать, какими функциональными особенностями или другими “фишкам” новое приложение будет отличаться от существующих аналогов .

После того, как назначение и цели приложения определены, выбрать платформу, для которой оно будет предназначено будет легко. Если это часто используемое приложение, например, помощник по навигации, карманный справочник или, может быть, казуальная игра, которая будет помогать убивать время в очереди, то, очевидно, создавать приложение стоит для мобильной платформы. С другой стороны, если речь идёт о приложении, которое предполагает работу с большими объёмами информации и использование только в определённых условиях (например, только дома или на работе), будь то сборник рецептов или офисный пакет (а в случае с игрой, если она требует погружения в сюжет или имеет сложное управление), то такое приложение чаще будут использовать на планшете, ноутбуке или компьютере. Другими словами, нужно продумать сценарии использования вашего будущего приложения: в каких случаях пользователи его будут запускать и на каких устройствах. Как и было сказано в анонсе, в этой статье в качестве примера мы возьмём операционную систему Windows 8.1, универсальную для планшетов, ультрабуков, моноблоков и обычных компьютеров. Также, важно отметить, что в случае выбора этой платформы позже не составит большого труда портировать приложение для операционной системы Windows Phone из-за использования одних и тех же инструментов и схожих возможностей обеих ОС.

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

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

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

Adware – приложения с рекламой. В этом случае всё очень просто: программа содержит рекламный блок, за просмотры которого или за клики по нему разработчик получает вознаграждение. Часто в adware-приложения встраивается возможность платного отключения рекламы.

Freemium – приложения с платным контентом. Как правило, freemium-приложениея бесплатны для скачивания из магазина приложений, но содержат дополнительный платный контент. Особенную популярность эта схема получила в многочисленных играх, начиная от казуалок и заканчивая серьёзными проектами. В настоящее время всё больше пользователей относятся к freemium-приложениям негативно из-за необходимости постоянных денежных вливаний, поэтому перед тем, как использовать такую схему, стоит хорошо все продумать.

Shareware – платные программы. Заплатив единожды за shareware-приложение, пользователь навсегда получает полный доступ ко всем его функциям. Для распространяемых по такой схеме программ обычно доступны demo- (с ограниченными возможностями) и trial-версии (с ограниченным сроком действия).

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

Второй этап: дизайн

Говоря о дизайне, мы будем иметь ввиду преимущественно программы, так как именно они вкупе с дизайном операционной системы создают единый стиль операционной системы. Благодаря этому при запуске программ у пользователя никогда не возникнет ощущения чего-то “чужеродного” в устройстве, а кроме того, вследствие общего расположения контекстных меню и настроек, не будет затруднений с поиском нужных пунктов для выполнения привычных действий. Например, в любой программе из Магазина Windows меню можно вызвать свайпом от нижней части экрана (либо кликом правой кнопки мыши по любому месту), а все настройки находятся в одноимённом пункте правой “чудо-панели”, открываемой свайпом от правой части экрана (это также можно сделать наведя курсор мыши на любой из правых углов дисплея). В случае с играми следование официальным гайдлайнам разработчика ОС (в данном случае Microsoft) не требуется, поэтому будет достаточно принять во внимание рекомендации, которые мы дали в описании первого этапа.

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

Также прототипирование можно осуществлять на компьютере, используя различное программное обеспечение, начиная с простых графических редакторов и заканчивая специализированными инструментами. В число преимуществ последних входят, например, наличие сетки для выравнивания элементов приложения и возможность размещения на экране таких же меню, надписей и кнопок, которые используются в интерфейсе операционной системы. Здесь перед разработчиком снова встаёт выбор: можно использовать либо инструменты быстрого прототипирования, которые могут работать онлайн и не требуют установки на компьютер, либо профессиональные пакеты, с помощью которых прототип можно довести от состояния эскиза до интерактивного макета, внешне неотличимого от настоящего приложения. В качестве примера сервиса первой категории можно привести бесплатный NinjaMock , а что касается второй категории, то в ней одним из самых популярных средств прототипирования различной глубины проработки является Axure . Собственные средства протипирования предлагает и Microsoft – это приложения Project Siena и Expression Blend. Их преимуществом является возможность экспорта полученных реалистичных прототипов в проекты Visual Studio и продолжения работы над проектом уже в среде разработки.

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

Иконка (плитка) приложения – небольшой, но один из самых важных элементов дизайна, на который пользователи будут обращать внимание перед скачиванием программы, и который затем будут видеть каждый раз перед запуском. Если приложение обретёт популярность, его иконка станет узнаваемой и впоследствии будет у многих ассоциироваться только с конкретной программой. При создании иконки обычно стараются либо отразить функциональность приложения (например, на иконках большинства программ для создания заметок можно увидеть письменные принадлежности), либо создать новый бренд (в качестве примеров популярных программ можно привести браузер Chrome и клиент социальной сети VK). В любом из случаев, согласно современным трендам дизайна и фирменного стиля Windows 8.1, плитка/иконка приложения должна быть плоской, лаконичной, а, главное понятной простому пользователю.

Третий этап: разработка

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

Разработку можно вести на различных языках, среди которых — C++, C#, Visual Basic, JavaScript, HTML и XAML. Непосредственно до начала разработки приложения необходимо изучить системные вызовы и возможности API операционной системы. Если вы уже знаете один из перечисленных языков программирования, то свои знания будет легко применить к созданию собственного приложения для “плиточного” интерфейса. В специальном разделе сайта компании Microsoft есть подробные инструкции с примерами, в том числе для языка C++ и XAML или для JavaScript и HTML . В качестве IDE (среды разработки) Microsoft рекомендует использовать Microsoft Visual Studio, программы в котором можно писать, компилировать и отлаживать на любом из указанных языков программирования. Помимо этого на официальном сайте компании доступен для скачивания SDK , содержащий множество дополнительных материалов, в том числе документацию, специализированные инструменты, которые пригодятся опытным разработчикам, и полезные для новичков примеры исходных кодов программ.

Имея необходимые знания и инструменты, можно приступить непосредственно к самому процессу написания кода, который будет отвечать как за внешнее поведение различных элементов интерфейса, так и за внутреннюю работу приложения. К последней относятся взаимодействие с ОС, получение данных от системы (например, из файлов владельца устройства и Интернета) и пользователя, их обработка и вывод результатов обработки в удобочитаемом виде. Для хранения данных в большинстве случаев используются базы данных SQL (поддерживаются практически любые системы управления базами данных или СУБД). Также информацию можно загружать, используя внешние сервисы. Если говорить о конкретных функциях программы, то для написания качественного приложения придётся потратить время на изучение вещей, не связанных напрямую с программированием. Например, если ваша программа будет проигрывать музыкальные файлы, потребуются знания о звуковых форматах, а если потребуется доступ к Интернету, не будут лишними знания о принципах работы сети.

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

При разработке обязательно стоит принимать во внимание список требований Microsoft к приложениям для Магазина Windows: без их выполнения ваша программа будет отклонена при попытке опубликовать её в магазине приложений.

Четвёртый этап: тестирование

Некоторые разработчики не придают особого значения тестированию приложений, а перед публикацией в Магазине, в некоторых случаях, даже не проверяют корректность работы программ на реальных устройствах (имеются ввиду устройства с сенсорными экранами, если разработка ведётся на компьютере без тачскрина). Конечно, так делать не стоит: главная опасность при разработке программ для планшетов и ультрабуков на Windows 8 заключается в том, что одни и те же активные элементы программ могут по-разному реагировать на клик мышью и нажатие пальцем.

Чтобы избежать таких недоразумений, необходимо провести полноценное тестирование на устройстве с тачскрином. На данном этапе можно прибегнуть к помощи друзей или знакомых: до публикации в Магазине в процессе добавления нового приложения в аккаунте разработчика есть функция отправки приглашения отдельным пользователям на бета-тест . К сожалению, проводить публичные бета-тесты Microsoft не позволяет.

Пятый этап: публикация в Магазине

После того, как приложение полностью готово, самое время опубликовать его в магазине. Для этого понадобитсяаккаунт разработчика . Его стоимость составляет 625 рублей для индивидуальных разработчиков или 3 000 рублей для компаний, а регистрация для студентов и стартапов вовсе бесплатна – код можно получить по программам DreamSpark и BizSpark соответственно. В процессе публикации разработчику будет необходимо указать название приложения, определить его категорию , возрастные ограничения и выставить цену. С обзором этого процесса можно ознакомиться на сайте Microsoft.

После того, как программа или игра отправлена, в течение примерно пяти рабочих дней тестировщики проверят её на предмет соблюдения всех правил Microsoft, о которых мы уже упоминали на этапе разработки. Если не возникло никаких проблем и в процессе отправки приложения на утверждение вы согласились с публикацией, ваша программа или игра будет немедленно опубликована в Магазине приложений и появится в выдаче поиска.

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

Шестой этап: реклама и поддержка

Если вы создаёте программу для широких масс, а не узкого круга людей, или игру, слишком надеяться на “сарафанное радио” не стоит. Сами по себе приложения “выстреливают” довольно редко, и, если вы хотите, чтобы о вашем продукте узнали – его необходимо продвигать . Способов может быть много: посты в социальных сетях или . Можно предложить “бонусы” за рекламу приложения в социальных сетях самими пользователями, этот способ часто используется при продвижении игр.

Итак, о приложении узнали, и пользователи начали его покупать, но это совершенно не означает, что можно откинуться на спинку кресла и считать деньги, “капающие” на счёт. Чем больше у приложения пользователей, тем больше отзывов они будут писать, и эти

С момента запуска платформы в 2011 году и до июня 2013 стоимость годовой подписки на аккаунт разработчика составляла 99 долларов. Microsoft попыталась привлечь как можно больше разработчиков к своей платформе и на все лето этого года снизила «сбор» до 19 долларов. Затем компания бессрочно продлила действие акции и запустила проект Windows Phone App Studio с бесплатной регистрацией разработчиков.

Аккаунт разработчика — полезная штука. С его помощью можно отправлять в магазин Windows Phone приложения и игры, написанные в Visual Studio или созданные в веб-сервисе Windows Phone App Studio. Даже если ваше приложение не пройдет сертификацию, будет отвергнуто и не попадет в коммерческий доступ, вы сможете использовать его на своем устройстве и показывать «эксклюзив» друзьям. Кроме этого, девелоперский аккаунт позволяет своему владельцу получать обновления операционной системы раньше обычных пользователей. Никто никаких приложений от вас требовать не будет, и аккаунт сохранится, даже если вы не станете использовать его для разработки.

Windows Phone App Studio - веб-инструмент для создания простых приложений или макетов сложных проектов. За те несколько месяцев, что прошли с момента его запуска, в нем было создано более 150 тысяч проектов, из которых 65 тысяч стали полноценными приложениями и были установлены на смартфоны.

Для получения бесплатного аккаунт разработчика нужно пройти процесс регистрации в Windows Phone App Studio. Зайдите на страницу сервиса и введите логин и пароль аккаунта Microsoft. Теперь вы официально - разработчик приложений для Windows Phone.

В App Studio содержатся шаблоны девятнадцати категорий, можно выбрать любой и на его основе создать уникальное приложение. Для этого нужно выбрать локализацию, добавить картинку живой плитки, описание, контент (фотографии, видео, RSS-потоки), выбрать цветовую схему оформления интерфейса и фоновое изображение.

Готовое приложение можно сразу установить на смартфон, для этого нужно нажать кнопку «Generate». Вам будет отправлено письмо с двумя ссылками, сначала нужно установить сертификат, затем ваше приложение. После установки оно появится в общем списке, им уже можно пользоваться. В дальнейшем приложение можно редактировать в App Studio и снова отправлять на телефон.

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

Если вы собираетесь использовать аккаунт разработчика только для установки обновлений Windows Phone раньше, чем они выходят официально, установите на смартфон приложение Preview for Developers , залогиньтесь в нем в аккаунт разработчика и согласитесь с условиями. Обновления устанавливаются не автоматически, их наличие нужно проверять в настройках. Если вы услышали, что кто-то начал получать апдейт, зайдите в настройки телефона и посмотрите, доступен ли он вам.

При установке Windows Phone Developer Tools вы получаете следующие бесплатные инструменты и компоненты.
  • Windows Phone emulator
  • Zune software
  • XNA Game Studio 4.0
  • Silverlight
  • .NET Framework 4
Если у вас уже есть установленная Visual Studio 2010 (Professional или Ultimate), то вы можете использовать для разработки свою редакцию Visual Studio 2010 после установки Windows Phone Developer Tools.
Expression Blend for Windows Phone
Expression Blend for Windows Phone - программа для разработки дизайна, которая позволяет создавать и добавлять специальные визуальные возможности, такие как градиенты, анимации и переходы. Для некоторых задач Expression Blend проще в использовании, чем Visual Studio. Следующий список содержит некоторые задачи, которые легко выполняются с помощью Expression Blend.
  • Визуальное создание шаблонов данных
  • Использование во время разработки тестовых данных для визуализации шаблонов данных
  • Визуальное создание стилей элементов управления
  • Создание и просмотр анимации
На следующем изображении показан внешний вид Expression Blend.

Примечание:
В этой статье описывается работа в Visual Studio 2010 Express for Windows Phone, и не будет использоваться Expression Blend for Windows Phone.

Visual Studio 2010 Express for Windows Phone
Visual Studio 2010 Express for Windows Phone включает в себя drag-and-drop дизайнер, который имитирует внешний вид телефона, редактор кода и отладчик. Если вы работали с Visual Studio для разработки других видов приложений, вы обнаружите среду для разработки мобильных приложений очень знакомой. На следующем изображении показан внешний вид Visual Studio 2010 Express for Windows Phone.

Дизайнер для Windows Phone содержит панель инструметов (Toolbox), режим дизайна (Design view), режим XAML (XAML view), обозреватель решений (Solution Explorer) и окно «Свойства» (Properties window), похожие на стандартный дизайнер Visual Studio. Два ключевых различий в том, что в режиме дизайна поверхность выглядит как Windows Phone устройство, и появилось целевое устройство (Target device), которое позволит вам выбрать, будет ли вы отлаживать приложение на устройстве или эмуляторе. На следующем изображении показан внешний вид эмулятора в портретной и альбомной ориентации.

Рекомендации по проектированию интерфейса (Design Guidelines)

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

В следующей таблице приводится краткое изложение основных принципов проектирования интерфейса и требований к приложений, которые необходимо учесть при проектировании и разработке вашего приложения. Полный и самый актуальный список рекомендаций по проектированию интерфейса вы можете найти по следующей ссылке.
UI Design and Interaction Guide for Windows Phone 7

Категория Рекомендации по проектированию
Навигация, фреймы и страницы
  • Убедитесь в том, что рассмотрели действие кнопки «Назад» и взаимодействие пользователя с панелью приложения при создании навигационной карты.
Панель приложения
  • Используйте панель приложения для выполнения общих задач приложения.
  • Вы ограничены четырьмя кнопками в панели приложения.
  • Помещайте реже выполняемые действия в меню панели приложения.
  • Если действие трудно чётко выразить с помощью иконки, поместите его в меню панели приложения, а не в виде кнопки.
  • Вы ограничены пятью пунктами в меню панели приложения, чтобы предотвратить возникновение прокрутки.
Кнопка «Назад»
  • Вы должны реализовать только такое поведение кнопки «Назад», которое осуществляет переход назад или скрывает контекстное меню и диалоговые окна. Все другие реализации запрещены.
Ориентация экрана
  • Ориентацией по умолчанию является портретная. Для поддержки альбомной ориентации, вам необходимо дописать код.
  • Если приложение поддерживает альбомную ориентацию, оно не может определять только левую или только правую альбомную ориентацию. Левая и правая альбомные ориентации должны поддерживаться.
  • Если приложение поддерживает ввод текста, вы должны поддерживать альбомную ориентацию из-за возможности существования аппаратной клавиатуры.
Темы оформления
  • Избегайте использования слишком большого количества белого цвета в приложениях, напримера, белого фона, поскольку это может оказать серьёзное влияние на время автономной работы устройств с OLED дисплем.
  • Если основной или фоновый цвет элемента управления задан явно, убедитесь, что его содержание одинаково хорошо видно как при темной, так и при светлой теме оформления. Если указанного цвета не видно, также явно задайте фон или основной цвет, чтобы он был достаточно контрастным или выберите более подходящий цвет.
Настройки приложения
  • Действия приложения, которые перезаписывают или удаляют данные, или не могут быть обратимы должны иметь кнопку «Отмена».
  • При использовании дополнительных экранов с кнопками подтверждения или отмены, нажатие на эти кнопки должно выполнить соответствующее действие и вернуть пользователя в главное меню настроек.
Сенсорный ввод
  • Все основные и общие задачи должны выполняться с помощью одного пальца.
  • Сенсорное управление должно реагировать на прикосновения сразу. Сенсорное управление, которое срабатывает с задержкой или кажется медленным при переходах будет иметь негативное влияние на пользовательский опыт.
  • Для длительных ресурсоёмких операций, разработчики должны обеспечивать обратную связь, чтобы указать, что что-то происходит, с помощью содержимого, отображающего прогресс, или рассмотреть возможность использования прогресс-бара или на крайний случай необработанного уведомления (raw notification). Например, вы можете показать все больше и больше содержимого в процессе загрузки.
  • Долгое нажатие, как правило, следует использовать для отображения контекстного меню или страницы опций для элемента.
Экранная клавиатура
  • Вы должны установить свойство возможности ввода для текстового поля или других элементов с возможностью редактирования, чтобы определить тип клавиатуры и включить соответствующие средства печати.
Элементы управления Canvas и Grid
  • Элемент управления Canvas использует основанную на пикселях разметку и может обеспечить лучшую производительность, чем элемент управления Grid для глубоко встроенных (embedded) или вложенных (nested) элементов управления в приложениях с неизменяющейся ориентацией.
  • Grid является лучшим выбором, когда фрейм приложения должен расширяться, сжиматься или поворачиваться.
Элементы управления Panorama и Pivot
  • Как Panorama, так и Pivot обеспечивают горизонтальную навигацию по содержимому устройства, что позволяет пользователю совершать движения и панорамирование по мере необходимости.
  • Используйте элемент управления Panorama в качестве отправной точки для более детализированного пользовательского опыта.
  • Используйте Pivot для фильтрации больших объемов данных, обеспечивая просмотр нескольких наборов данных, или чтобы предоставить способ переключения между различными режимами одних и тех же данных.
  • Не используйте Pivot для задач навигации, как wizard-приложениях.
  • Вертикальная прокрутка списка или сетки в разделах Panorama приемлемо, пока она находится в пределах границ раздела и не параллельно горизонтальной прокрутке.
  • Никогда не ставьте Pivot внутри другого элемента управления Pivot.
  • Никогда не ставьте Pivot внутри элемента управления Panorama.
  • Приложение должно минимизировать количество страниц Pivot.
  • Pivot должен использоваться только для отображения элементов или данных сходного типа.
  • Вы не должны использовать кнопки панели приложения для навигации в элементе управления Pivot. Если Pivot требует навигационные средства, вы, вероятно, не правильно используете его.
Текст
  • Вы должны в первую очередь использовать шрифт Segoe. Используйте альтернативные шрифты с осторожностью.
  • Избегайте использования шрифтов, размеры которых меньше 15 пунктов.
  • Придерживайтесь единого стиля использования заглавных букв.
  • Название приложения в строке заголовка должно быть в верхнем регистре.
  • Используйте все строчные буквы для большинства остального текста в приложении, включая заголовки страниц и названия списков. В панели приложения любой текст автоматически отображается в нижнем регистре.

Дополнительные ресурсы

Ниже приведены некоторые ссылки на дополнительные ресурсы, где можно узнать больше о разработке для Windows Phone.
Ресурс Описание
Windows Phone App Hub Дополнительная документация, примеры кода и сообщество по разработке для Windows Phone.
Windows Phone Development Documentation Официальная документация по разработке для Windows Phone на MSDN.
Silverlight Documentation Официальная документация по Silverlight и Silverlight for Windows Phone на MSDN.
Code Samples for Windows Phone Скачиваемые примеры кода, которые дополняют документацию по Windows Phone.
Windows Phone QuickStarts Сборник коротких статей, демонстрирующих задачи и возможности при разработке для Windows Phone.
Windows Phone Developer Guide Руководство разработчика, описывающее историю фиктивной компанией, которая решила использовать Windows Phone 7 как клиентское устройство для уже существующих облачного приложения.
The Windows Phone Developer Blog Блог, который содержит актуальную информацию и объявления прямо от команды по разработке Windows Phone.
Windows Phone 7 Development for Absolute Beginners Серия видеороликов для абсолютных новичков, не требующая никаких навыков программирования.
Windows Phone 7 Jump Start Серия видеороликов для разработчиков, не знакомых с разработкой для Windows Phone с использованием Silverlight или XNA.
Windows Phone 7 Training Course Видеоролики и практические занятия по разработке для Windows Phone с использованием Silverlight или XNA.
.toolbox Учебники и другие ресурсы для дизайнеров, обучающие, как разрабатывать дизайн приложения для Windows Phone. Включает в себя учебники по Expression Blend.
Jeff Wilcox Blog Блог о Silverlight, Silverlight Toolkit и Silverlight for Windows Phone. Джеф Уилкокс - это ведущий разработчик программного обеспечения в Microsoft в команде Silverlight.
Jeff Prosise Blog Блог о различных областях в программировании на.NET, в том числе Silverlight и Windows Phone. Джеф Просиз является опытным программистом и одним из основателей Wintellect.

Есть мнение, что в реальной жизни смартфоны с ОС от 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. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.




Top