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

Всем привет! Вы, наверняка, уже слышали новости про то, что за первые 4 недели Windows 10 установили уже более 75 миллионов человек . В таком контексте мы особенно рады поделиться с вами вводной статьей от Арсения Печенкина из компании DataArt о том, как начать разрабатывать приложения под десятку.

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

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

Инструменты

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

Какое-то время назад почти все разделы по разработке под Windows 10 вели на разделы про разработку под Windows 8.1, но после релиза документацию постепенно обновляют (с учетом того, что UWP-платформа для Windows 10 является развитием WinRT).

Online-курс в Microsoft Virtual Academy

Для тех, кто предпочитает аудио-визуальный формат знакомства с платформой, есть вводный курс: A Developer"s Guide to Windows 10 .

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

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

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

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

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

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

Шаблоны

Из коробки в Visual Studio нам доступен только один шаблон проекта Blank App.

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

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

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

Примеры

Для облегчения входа в платформу UWP Microsoft подготовил пополняемую коллекцию примеров: При установке 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.

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

Подготовка к разработке требует наличия следующего ПО:

  • Visual Studio2010

Данное ПО предоставляет возможность полноценного использования откладок. Стоит отметить, что аналогичные откладки применяются для настольных версий Виндовс.

  • Expression Blend

ПО является визуальным дизайнером, благодаря которому можно с легкостью работать со слоями, всевозможными шаблонами, стилем оформления и анимацией. Версия Expression Blend4 for WindowsPhone доступна для бесплатной загрузки. Стоит отметить, что Expression Blend является базой для XAML.

  • WindowsPhone SDK

С помощью данного пакета можно начинать процесс разработки.

  • WindowsPhone Emulator

Позволяет создать в эмуляторе со встроенным Internet Explorer9, оснащенным HTML5, приложения. Также с его помощью можно заниматься тестированием звонков и SMS-отсылок, а также поддерживать множество полезных функций, включая мультитач на мониторах, симуляцию камеры. Доступны для использования геолокационные сервисы. Однако в данном эмуляторе отсутствует поддержка медиаконтента Zune.

  • XNA Game Studio4.0

Благодаря этому ПО можно заниматься разработкой игр, как для консоли, ПК, так и для WindowsPhone. Библиотеки XNA Framework являются важной частью ПО, для которых характерно наличие управляемого кода.

Дополнительное ПО

Среди дополнительных инструментариев для разработчиков можно выделить такие:

  • WindowsPhone Developer Registration Tool.
  • WindowsPhone Profiler. С его помощью обнаруживаются неполадки с производительностью.
  • Silverlight Toolkit for WindowsPhone.

Особенности среды разработки

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

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

  • Первый шаблон называется WindowsPhone Application, который является обычным примером диалогового приложения. Взаимодействие с пользователями осуществляется с помощью одного экрана.
  • WindowsPhone Pivot Application созданно в виде приложения, в котором присутствуют закладки. Каждая из закладок обладает своим заголовком, по которому можно определить содержимое. В качестве управляющего элемента используется Pivot.
  • WindowsPhone Panorama Application обладает своеобразной системой взаимодействия с пользователями, которая осуществляется через разделенные на панели зоны с горизонтальной прокруткой. Для данного шаблона характерно размещение изображения фона на всей панораме. Контент, размещенный на соседней панели с правой стороны, можно увидеть при отображении текущей. Panorama является управленческим элементом.

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

Подробнее о разработке приложений для Windows Phone можно узнать .

Последнее обновление: 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 следующим образом:

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то