Разработка первого приложения для Windows Phone: Подготовка рабочего окружения. Разработка приложения для Windows Phone

Как начинающему разработчику мобильных приложений выходить на платформу Windows Phone? С чего начать?

Отвечают основатель консалтинговой компании Empatika, создатель мобильного приложения App in the air Байрам Аннаков и cоздатель менеджера задач «Хаос-контроль » Дмитрий Тарасов.

Байрам Аннаков Empatika и App in the air

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

Во-вторых, советую обязательно подавать заявки на грант в AppCampus . Эта программа рассчитана не только на новые приложения: если ваш продукт успешен на других платформах, AppCampus позволит усовершенствовать его и адаптировать под Windows Phone. Немаловажно то, что участие позволяет наладить прочные контакты с Microsoft и другими партнерами, что становится критически важным для любого бизнеса в ранней стадии развития.

Если говорить о нашем опыте, то участие в AppCampus принесло нам грантовую поддержку в размере 20 000 евро, множество полезных и нужных контактов, а также возможность участия в двухнедельном семинаре в Финляндии, где эксперты Microsoft рассказывали стартапам, как выходить на рынок (стратегия Go to Market).

Для начинающих разработчиков мобильных приложений главные преимущества выхода на Windows Phone — это постоянная поддержка, помощь экспертов и дальнейшее продвижение. То есть, если вы создали качественный продукт и получили грант от AppCampus, в перспективе вы можете получить поддержку от Microsoft Ventures.

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

Дмитрий Тарасов Хаос-Контроль

Начинающему разработчику, рассматривающему Windows Phone в качестве основной платформы, нужно сделать следующее:

1) Хорошенько подумать, надо ли ему это. С точки зрения карьерных перспектив возможности хуже, чем в случае iOS и Android, а заработать на собственном приложении осязаемые деньги в Marketplace попросту нельзя. Обычно компании выпускают продукт под Windows Phone в последнюю очередь по причинам, почти никак не связанным с экономическими.

2) Если всё же уверенность в выборе платформы есть, необходимо зарегистрировать аккаунт разработчика в магазине Windows Phone и начинать разбираться со средствами разработки и принципами разработки под новые платформы Microsoft: Windows 10 и Windows Phone (они сильно пересекаются и движутся в сторону интеграции). Стоит отметить, что с инструментами разработчика и документацией у Microsoft все обстоит лучше, чем у кого бы то ни было, поэтому обучение ремеслу создания приложений не должно вызывать проблем хотя бы в контексте доступности качественных обучающих материалов.

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

4) Microsoft очень сильно помогает разработчикам и хорошо их поддерживает. Советую уже на самых ранних стадиях развития своего приложения общаться с ними, консультироваться и вливаться в тусовку разработчиков на тематических мероприятиях Microsoft.

  • Перевод

Разработка приложений под платформу Windows Phone 7 похожа на разработку под платформу Android больше, чем вы могли ожидать. В этой статье Крис Беннетт исследует сходства между этими двумя платформами.

Различия между платформами

Прежде чем углубиться в конкретные инструменты и процессы портирования и/или создания приложений для Windows Phone 7, давайте начнем с терминологии и технологических различий между Windows Phone 7 и Android. Первое большое отличие состоит в том, что приложения для Windows Phone 7 создаются как управляемые.NET сборки, написанные на C#. Платформа поддерживает два типа приложений: Silverlight и XNA игры.
Большинство приложений для Windows Phone 7 создаются с использованием Silverlight, который предоставляет основанный на формах (form-based) способ взаимодействия с пользователем через стандартные элементы управления, такие как надписи, текстовые поля, списки и т.д. Аналогом в Silverlight для Android Layout и сопровождающего его Activity является Page.
Другим типом приложения, поддерживаемого Windows Phone 7, является XNA, который позволяет разработчикам создавать 2D и 3D игры. Это эквивалент Android SurfaceView и GLSurfaceView для 2D и 3D соответственно. В отличие от Android, который ориентирован на использование OpenGL для игр, игры XNA используют Direct3D, что делает проще процесс портирования игр с платформ PC и Xbox 360.

Pages и Navigation

Silverlight Pages создаются в виде XML-файлов, также как и Android Layouts. Для описания Page в XML-файле используется XAML (Extensible Application Markup Language). XAML похож на Android Layout, но он обладает более широким диапазоном возможностей. XAML позволяет разработчикам реализовывать действия, связанные с Page, в том числе анимацию, привязку данных и многое другое, что позволяет уменьшить количество необходимого кода.
Android Layout отделен (decoupled) от Activity, используемого для выполнения действий. В итоге, вы вынуждены писать код для того, чтобы связать Activity с соответствующими элементами пользовательского интерфейса (UI). C# код для конкретного Page уже привязан к элементам UI и такой необходимости просто нет. Платформа автоматически создает необходимые «привязки» для объектов и событий для Page и пользовательского интерфейса. Это предотвращает беспорядок, обычно происходящий в методе OnCreate каждой задачи, где вы создаёте привязки к UI и различные необходимые обработчики.
Другим важным различием между платформами является навигация. В Android вы переключаетесь с одной задачи на другую, создавая Intent. Аналогом в Windows Phone 7 является Navigation, который позволяет перемещаться между различными Pages. Как и в Android Intent, вы можете передать данные Page, к которому вы перемещаетесь. Page в Windows Phone 7 обладает некоторыми свойствами, похожими на ASP.net Page. Например, обычно используется QueryString для того, чтобы передать информацию следующему Page.

Преобразование Layouts в Pages

Перед погружением в код, нам нужно посмотреть на преобразование Android Layout XML в Windows Phone 7 XAML Pages. Конечно, одним из достоинств бесплатных инструментов для Windows Phone 7 является качество дизайнереских инструментов, доступных для XAML. Дизайнер XAML, включенный в Visual Studio 2010 предназначен для использования в основном разработчиками, чтобы получить основные элементы управления для Page и начать разработку. Expression Blend предназначен для создания профессионального дизайна с более продвинутым набором инструментов для совершенствования пользовательского интерфейса. Как и в случае с Android Layout, вы всегда можете прибегнуть к редактированию XAML непосредственно в текстовом редакторе, так как это обычный XML-файл.
Windows Phone 7 Page предоставляет элементы разметки и управления, сходные с Android Layout. В следующей таблице показаны аналоги для обеих платформ.
Элементы разметки
Обратите внимание, Windows Phone 7 имеет однозначные соответствия для базовых элементов разметки и управления. Но для некоторых из специализированных элементов разметки и управления соответствия не существует. Причина этого лежит в богатых возможностях XAML, который дает возможность очень легко вставлять элементы управления друг в друга. Таким образом можно, например, добавить список (ListBox) с флажками (CheckBoxes) рядом с каждым элементом без необходимости писать какой-либо код. Это означает, что вам не нужны все эти сложные идущие в комплекте элементы управления, они могут быть созданы и изменены в пределах вашего приложения.

Хранение данных

Хранение данных – это большая часть задачи при разработке большинства мобильных приложений. В Windows Phone 7 идея заключается в использовании облачных сервисов в качестве основного средства хранения данных. На первый взгляд это может вам показаться немного странным, но если вы создаёте приложение-клиент для вашего сайта, это имеет смысл. Если вы не собираетесь идти по этому пути, то у вас есть два варианта: использовать для хранения коммерческие сервисы, такие как Windows Azure или использовать локальный интерфейс IsolatedStorage. IsolatedStorage позволяет хранить файлы для использования только вашим приложением.
В зависимости от способа хранения данных в вашем приложений, возможно, вы захотите хранить данные локально без необходимости создавать и использовать базу данных. Например, если вы создаёте RSS / Podcast приложение можно просто хранить XML из канала RSS. Если вам необходимо получить доступ к данным, просто загрузите данные и используйте LINQ (Language Integrated Query), чтобы получить конкретные данные.
В примере с RSS приложением, мы можем либо работать с исходным XML из канала RSS или мы могли бы использовать LINQ для XML, чтобы создать XDocument для хранения записей, как показано ниже:
  1. //Create XML
  2. XDocument doc = new XDocument ();
  3. doc.Add(new XElement ("DataRoot" ,
  4. new XElement ("Record" ,
  5. new XElement ("value" ,"data1" )),
  6. new XElement ("Record" ,
  7. new XElement ("value" ,"data2" ))

XML, сгенерированный этим простым фрагментом кода, выглядит следующим образом:
  1. < DataRoot >
  2. < Record >
  3. < value > data1
  4. < Record >
  5. < value > data2
* This source code was highlighted with Source Code Highlighter .

Чтобы сохранить этот XML в изолированном хранилище мы используем IsolatedStorageFile с IsolatedStorageFileStream, как показано в следующем фрагменте:
  1. //Save the XML
  2. doc.Save(file);
  3. file.Close();
* This source code was highlighted with Source Code Highlighter .

Как вы можете видеть, очень просто реализовать хранение XML-данных в изолированном хранилище. Код для получения XML и создания LINQtoXML-запроса показан ниже:
  1. //Load the XML
  2. using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
  3. using (IsolatedStorageFileStream file = isf.OpenFile("data.xml" , FileMode .OpenOrCreate))
  4. XDocument d = XDocument .Load(file);
  5. var query = from r in d.Root.Elements("Record" )
  6. select r;
  7. //Process the list of record
* This source code was highlighted with Source Code Highlighter .

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

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

Как Android-разработчик вы, скорее всего, привыкли к хорошей и плохой стороне open-source разработки. Использование IDE Eclipse для Android, конечно, часть хорошей стороны. Но Android Development Toolkit (ADT) не хватает многих необходимых инструментов, таких, как надлежащие инструменты разметки. Хотя ADT, на самом деле, предоставляет подобные инструменты, но они не являются достаточно надежными, чтобы вы смогли легко создать разметку – скорее всего, вам придётся погружаться в XML.
Microsoft предоставляет надежные инструменты для разработки на протяжении уже многих лет. И платформа Windows Phone 7 не стала исключением. Microsoft, как обычно, позволяет просто и недорого сразу начать разработку. Java-разработчики могут скачать и попробовать эти инструменты, не тратя денег.
В настоящее время на create.msdn.com доступны следующие инструменты:
  • Microsoft Visual Studio 2010 Express for Phone
  • Microsoft Expression Blend for Phone
  • Microsoft XNA Game Studio for Phone
Эти три инструмента позволят вам бесплатно начать создавать приложения для Windows Phone 7.
Microsoft Visual Studio 2010 Express for Phone является основной комплексной средой разработки (IDE), используемой для создания приложений для Windows Phone 7. Она включает в себя все инструменты, которые вам нужны для создания приложений, в том числе инструмент для создания разметки Page, компилятор С #, эмулятор Windows Phone 7 и многое другое.
Microsoft Expression Blend for Phone является инструментом, ориентированным прежде всего на профессиональных дизайнеров и используется для совершенствования Pages в Silverlight-приложении. Разработчики могут использовать этот инструмент для создания страниц с нуля или улучшать Pages уже существующего приложения, не затрагивая его код.
Microsoft XNA Game Studio for Phone предоставляет набор инструментов, необходимых для создания 2D и 3D игр для платформы. Studio также включает XNA Framework, а также инструменты, необходимые для включения аудио и графики, необходимой при создании закольцованных (loop-based) игр.

Заключение

Windows Phone 7 предлагает новый подход к операционной системе для смартфонов, но она по-прежнему основана на проверенных технологиях, таких как Silverlight, WPF, C# и многие другие. Как вы могли увидеть из этой статьи различия между Android и Windows Phone 7 не так уж и велики.

UPD: Я опубликовал перевод этой статьи с целью показать, что изучить разработку под платформу Windows Phone 7 не так сложно, если уже имеется опыт разработки под Android. Здесь не говорится о том, что какая-то из этих мобильных платформ лучше или хуже.
Пожалуйста, не загоняйте мою карму в минус, чтобы я смог опубликовать другие статьи по разработке под Windows Phone 7. Если вам это не интересно, проходите мимо, не лишайте возможности узнать что-то новое тех, кому это интересно.

Всем привет!

Моя последний пост был написан довольно давно и пора бы исправлять этот прескорбный факт. Сегодня я решил разбавить череду статей о Windows Azure и поговорить о другой, не менее привлекательной платформе от Microsoft – Windows Phone .

Как вы наверняка уже знаете, операционная система для мобильных устройств компании Microsoft присутствует на рынке уже давно (аж с 2010 года) и на сегодняшний день занимает одну из лидерских позиций, в некоторых странах обходя по количеству проданных устройств даже популярную iOS. Поэтому многие разработчики как в России так и по всему миру уже вовсю пишут приложения для этой ОС, отчитываясь об отличных продажах и прибылях в Windows Store.

Начать разрабатывать приложения для Windows Phone на самом деле довольно легко. Если вы уже знаете C# и имели опыт работы с WPF или Silverlight, то можно сказать, что вы знаете 80% необходимой информации. Дело в том, что в основе платформы разработки для Windows Phone изначально лежал Silverlight, а в версии WP8 он сменился на в чем-то похожую на него платформу, хоть и более приближенную к WinRT. Так что если вы когда-либо писали приложения на WPF, знаете, что такое MVVM и для чего он нужен – то вперед, пишите приложения для Windows Phone .

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

Windows Phone App Studio

Я всегда любил компанию Microsoft за то, что она предоставляет своим пользователям разработчикам очень удобный инструменты для работы. И вот в августе Microsoft представила свой новый сервис, который позволит любому человеку, даже не знакомому с программированием вообще, создать свое собственное приложение для Windows Phone. Называется он Windows Phone App Studio .

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

Мне самому стало интересно, какие возможности есть у данного сервиса, и я решил создать приложение-суптник для своего мини-проекта Факты о программировании . Об этом я сейчас подробно и расскажу.

Шаг 0.1. Регистрация

Для того, чтобы начать пользоваться сервисом, вам необходимо зарегистрировать свой собственный LiveID аккаунт. Я думаю нет смысла объяснять, что это такое, если вы хоть раз пользовались каким-либо сервисом от Microsoft. Заходим на сайт App Studio и жмем кнопку Start Building:

Введите свой LiveID логин и пароль и выпопадете в систему управления своими приложениями. Если вы делаете это впервые, то у вас будет пустой список. У меня же в коллекции уже есть приложение prog_facts.

Шаг 0.2. Выбор типа приложения

Для того, чтобы создать свое первое приложение, надо выбрать пункт меню Create. Вам будет предложено два варианта – создать приложение по одному из доступных шаблонов или же настроить все с нуля.

Готовых шаблонов достаточно много. Среди них есть и шаблоны для приложений спортивной направленности (например, для отслеживания результатов любимой команды), семейные, развлекательные и многие другие. При наведении маши на шаблон вы увидите его краткое описание, а при выборе каждого из них вам откроется дополнительное окно, где будет продемонстрировано то, как это приложение может выглядеть.

В моем случае я решил не полагаться на шаблон, а создал приложение с нуля, выбрав соответствующий пункт меню create an empty app .

Шаг 1. Информация о приложении

Самый первый и самый простой шаг из тех четырех, за которые нам обещают создать приложение, отвечает за информацию о будущем приложении. Вам надо будет указать его название, краткое описание и выбрать логотип. Логотип должен быть в формате PNG и размером 160×160 пикселей.

Обратите внимание на телефон, который отображается справа. В нем всегда отображается ваше приложение с теми изменениями, которые вы с ним делаете.

Шаг 2. Наполнение контентом

Каждое приложение, создаваемое через Windows Phone App Studio, состоит из секций. Каждая секция представляет собой набор страниц, связанных между собой какой-то логикой. Например, данными, которые на этой странице можно отображать. Создадим новую секцию, в которой в качестве источника данных будем использовать поток RSS.

Здесь надо задать имя будущей секции, выбрать тип источника данных (доступны Коллекция, RSS, видео с YouTube, изображения из Flickr, поиск в Bing и HTML5 контент) и присвоить ему имя. После создания секции мы попадем на страницу редактирования.

Страница редактирования разделена на несколько частей. В разделе Data Source вы можете управлять источником данных, который связан с этой секцией. Раздел Pages содержит перечень всех страниц, которые относятся к секции. Можно заметить, что у нас по умолчанию создалось две страницы. Первая, под названием Blog – главная страница секции, которая содержит записи, считанные из RSS потока. Вторая страница Info была сгенерирована автоматически и она отвечает за отображение деталей каждой записи из RSS, когда пользователь выберет ее в списке. Мы пока оставим страницы секции и сперва отредактируем источник данных. (и не забываем нажать Save Changes, чтобы секция сохранилась в проекте)

Шаг 2.1. Источник данных

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

Как только вы нажмете Refresh и сохраните результаты, на главной странице приложения в эмуляторе вы сразу увидите, что данные из RSS ленты уже отображаются в вашем приложении. Это крайне удобно и полезно, потому что сразу можно узнать, как программа будет выглядеть. Например, моя RSS лента не прикрепляет изображения к записям, поэтому вместо них конструктор App Studio подставляет картинки по умолчанию, которые выглядят неуместно. Давайте это исправим.

Шаг 2.2. Редактирование внешнего вида страницы

Выбрав на странице “Configure App Content” в разделе Section Pages одну из страниц, вы перейдете в окно ее редактирования. Для каждого типа страницы доступны несколько возможных шаблонов. Для страницы Blog, которую я изначально хочу поправить, по умолчанию выставлен вид отображения записей и картинок. Давайте выберем вид с только записями, попутно поправив заголовок страницы:

Сразу видно, как изменилось приложение. Теперь записи идут одна за другой последовательно, что приводит внешний вид приложения к минималистичному стилю. Стоит обратить внимание на поля Item Title и Item Subtitle. Вместо простого текста там сейчас написаны непонятные выражения {Data.Title} и {Data.Summary}. Для тех, кто знаком с WPF, это можно сравнить с Data Binding. Для остальных я поясню.

Поскольку наша секция построена вокруг Data Source, то мы должны иметь возможность каким-то образом получать данные из этого источника. Эти выражения как раз и означают, что в соответствующих полях мы хотим видеть информацию, полученную из RSS ленты. Здесь объект Data представляет собой одну запись из RSS, а поля Title и Summary – какую-то конкретную часть этой записи. Если нажать на иконку справа от поля, то вам выведется весь перечень доступных полей объекта Data, среди которых есть информация об авторе записи, ее дате, ссылке и несколько еще.

Аналогичным образом попробуем отредактировать страницу Info. Для нее доступен несколько иной набор шаблонов, среди которых мы выберем самый простой и подходящий больше всего:

На этой странице все примерно аналогично. Единственное, что вместо объекта данных Data здесь используется Context, который по сути является тем же самым.

Шаг 2.3. Добавление меню и других секций

Помимо простых секций, в Windows Phone App Studio можно добавить так называемое меню. Это секция, которая состоит из перечня ссылок на другие секции или на внешние сайты. Я решил добавить меню на разделы сайта с видео, чтобы у вас всегда был под рукой быстрый доступ к полезной информации. Добавляется меню аналогично простой секции и его настройка не представляет сложности. Так что предлагаю освоить это в качестве домашнего задания.

Шаг 3. Стили

Завершив наполнение приложения секциями, страницами и меню, переходим к разговору о прекрасном, а именно о стиле. В разделе 3 “Configure App Style” вы сможете настроить базовую цветовую гамму, которая будет использоваться в вашем приложении. Я выбрал цвета, которые используются в блоге – это синий и белый. Таким образом приложение получилось светлым и приятным, хотя о вкусах не спорят.

Цвет Accent Brush отвечает за то, каким будет ваш основной цвет акцента. Он отвечает за заголовок приложения. Кисть Background Brush, как не трудно догадаться, отвечает за цвет фона. Вы также можете выбрать картинку, если считаете ее более уместной, чем однотонная заливка. Foreground Brush – это цвет шрифтов, которыми будут выводиться данные в вашем приложении. Ну и Application Bar Brush – цвет фона панели меню, выводящегося снизу.

Шаг 3.1. Тайлы

Тайлы – неотъемлемая часть любого приложения для Windows Phone. Они могут расширить ваше приложение, позволив пользователю видеть дополнительную информацию, не открывая основное окно программы. Конечно же, в Windows Phone App Studio вы не сможете создать умный тайл, который смог бы самостоятельно обновлять свой вид и подгружать дополнительные данные откуда-нибудь. Однако вы можете выбрать один из нескольких стандартных типов поведения, используя некие статические данные. Например, для приложения glamcoder я выбрал тип тайла Iconic Template и выведу на него краткое описание приложения:

Шаг 3.2. Splash и Lock экраны

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

Изображение для Lock Screen – это картинка, которая будет выводиться на экран блокировки. На самом деле в нем нет особого практического смысла, потому что эта картинка статична в рамках Windows Phone App Studio, и вряд ли пользователь захочет сменить красочные Bing обои вашей картинкой.

Шаг 4. Финал

Ну вот мы и дошли до самого последнего этапа – создания нашего первого приложения для Windows Phone. На последней странице с названием Generate нас ждет заветная опция – сгенерировать пакет, который впоследствии мы сможем установить на свое устройство. Нажимаем большую кнопку Generate app и ждем, пока работает магия.

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

Заключение

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

Я очень надеюсь, что эта статья вдохновит вас на написание своего собственного первого приложения для Windows Phone. И мне хочется верить, что знания, которые вы приобретете, помогут вам создать новый Instagram или новые Angry Birds. А чтобы это случилось как можно раньше, заходите на портал разработки для Windows Phone , изучайте материалы, смотрите видеоуроки, творите.

Удачи и хороших вам приложений!

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

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

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 для рендеринга графического контента.