Как создать приложение для windows phone. Пишем первое универсальное приложение Windows

С момента запуска платформы в 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 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, которые включают требования к коду и функциям приложения, соблюдению гайдлайнов дизайна, а также оформлению заявки.

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

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

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

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

Запустим Visual Studio Express 2013 for Windows. В меню выберем File->New Project.. . Перед нами откроется окно создания проекта:

В левой части окна выберем Visual C#->Store Apps-> Windows Phone Apps . А среди шаблонов нового проекта выберем Blank App (Windows Phone) , дадим какое-нибудь название проекту, например, назовем его HelloApp. И нажмем ОК.

И Visual Studio создаст новый проект:

Проект по шаблону Blank App по умолчанию имеет следующие узлы:

    Каталог Assets , содержащий используемые файлы изображений

    App.xaml и App.xaml.cs - файл ресурсов приложения на xaml и файл кода приложения на c# соответственно

    MainPage.xaml и MainPage.xaml.cs - файл графического интерфейса окна приложения и файл кода окна на c# соответственно

    Package.appxmanifest - файл манифеста приложения

На данном начальном этапе пока для нас ценность представляют файлы MainPage.xaml и MainPage.xaml.cs . Откроем файл MainPage.xaml, который представляет графический интерфейс:

Слева в виде телефона у нас будет окно графического дизайнера. Справа - окно разметки графического интерфейса на языке xaml. Графический интерфейс в данном случае представлен классом MainPage, который представляет собой отдельную страницу. Все изменения по интерфейсу, которые мы сделаем, тут же будут отображаться в графическом дизайнере, который даст нам визуальное понимание того, как в итоге будет все выглядеть.

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