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

  • 14.08.2019

Всем привет!

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

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

С сегодняшнего дня все разработчики могут пополнять магазин Windows 10. Если вы используете эту операционную систему, вы можете создать для нее собственное приложение. Регистрироваться в качестве разработчика не нужно, публиковать его в магазине тоже, но вы сможете пользоваться им сами или отправить его своим друзьям.

Как создать приложение для Windows 10?

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

Откроется начальная страница сервиса. Нажмите на «Windows 10» и выберите в разделе шаблонов «Empty App W10».

Придумайте своему приложению название, впишите его в соответствующее поле и нажмите «Start with this one!»

Вы перейдете в рабочую панель App Studio. Во вкладке «Content» вы можете наполнить приложение контентом из RSS-ленты любого сайта и различных сервисов (Facebook, Twitter, YouTube, Instagram, Flickr и так далее). Также можно использовать HTML-код.

Расположение контента на странице приложения можно настроить, нажав значок редактирования на плитке любого из блоков. Изменения не сохраняются автоматически, поэтому иногда нажимайте кнопку Save.

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

Во вкладке «Tiles» настраивается живая плитка приложения. Вы можете загрузить иконки разных размеров.

Вкладка «Settings» - финальная. В ней можно выбрать язык приложения, добавить описание, привязать проект к своему аккаунту разработчика и активировать показ рекламы.

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


Когда приложение готово, жмите «Generate». App Studio создаст установочный файл и предоставит исходный код, который можно будет открыть в более серьезном инструменте - Visual Studio.

Скачайте архив с приложением на компьютер, распакуйте его в какую-нибудь папку, но не спешите его запускать.

Скачайте с сайта Microsoft корневой сертификат и установите его. Затем зайдите в меню «Обновление и безопасность» параметров устройства и в разделе «Для разработчиков» включите «Режим для разработчика».


Откройте папку со своим приложением в проводнике, нажмите на файл Add-AppDevPackage правой кнопкой мыши, а затем на «Запустить с помощью PowerShell». Если с первого раза приложение не установится, попробуйте второй раз, должно получиться. После успешной установки оно появится в списке всех установленных приложений в стартовом меню. Можете запускать и пользоваться.

В диалоге New Project Visual Studio выберем Visual C#, Silverlight for Windows Phone и простой шаблон приложения Windows Phone Application и назовём его ExploringXAMLFeatures.

В диалоге выбора целевой операционной системы выберем Windows Phone OS 7.1

После создания проекта, окно Visual Studio примет следующий вид

Рассмотрим структуру проекта в окне Solution Explorer:

Название файла Назначение
AppManifest.xml Файл манифеста, необходимый для генерации XAP файла, в который упаковывается приложение для развёртывания на телефоне.
AssemblyInfo.cs Ещё один конфигурационный файл, в котором определяются некоторые метаданные главной сборки(Assembly) приложения.
WMAppManifest.xml Файл метаданных, который содержит разнообразные настройки приложения: заголовок, задание первой страницы, пути к иконкам, определение необходимых системных возможностей и.т.д.
App.xaml Это файл ресурсов приложения. Здесь располагаются глобальные ресурсы (это будет рассмотрено при использовании стилей) или глобальные события (происходящие при старте приложения). Этот файл также является точкой входа приложения.
App.xaml.cs Файл кода (code-behind) для App.xaml. Здесь можно обрабатывать события и ошибки уровня приложения, в том числе его tombstoning. Данную концепция будет рассмотрена позднее, когда будет рассматриваться многозадачность.
ApplicationIcon.png Картинка, которая будет иконкой приложения в телефоне. Это действительно важный файл, так как он является первым, что увидят пользователи при работе с приложением.
Background.png Данная картинка используется, когда приложение закреплено на стартовом экране телефона(start screen). По сути это большая иконка приложения. Разумно сделать её визуально похожей на ApplicationIcon.png.
MainPage.xaml Это часть выбранного шаблона приложения. Название MainPaige не очень удачное, но именно оно используется шаблоном проекта по умолчанию. Этот страница представляет интерфейс, который видит пользователь при старте приложения.
MainPage.xaml.cs Файл кода страницы MainPage.xaml.
SplashScreenImage.jpg Данная картинка отображается во время загрузки +приложения. Можно задать свою картинку с анимацией, чтобы проинформировать, что приложение загружается. Есть техника создания очень динамичных страниц загрузки на XNA, но она выходит далеко за рамки этого цикла статей.

Файлы XAML определяют интерфейс приложения. На самом деле - это просто XML файлы с языком разметки XAML.

Несмотря, что это самый простой проект, он содержит все ключевые элементы, которые содержат все остальные шаблоны и типы проектов.

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

Добавление элементов управления на страницу XAML

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

Если вы переходили к просмотру других файлов решения, двойным щелчком перейдите на файл MainPage.xaml.

В XAML код файла MainPage.xaml внутрь элеметна Grid с именем ContentPanel вставьте элемент управления Button:

В окне дизайна кнопка отобразится сразу приблизительно в центре интерфейса. Обратили внимание на атрибут Name ? Это уникальный идентификатор элемента, который помогает ссылаться на него в коде. Считайте это ID атрибутом элемента управления. Давайте теперь добавим какие-нибудь действия при нажатии на эту кнопку. Есть два способа привязать событие к кнопке Button (или любому другому элементу управления). В XAML, прямо в определении Button, можно добавить атрибут Click и система InteliSense автоматически спросит, хотим ли мы сгенерировать новый обработчик событий:

Можно связать обработчик событий напрямую в коде страницы Home.xaml.cs не указывая его в XAML файле:

Public MainPage() { InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); }

Оба способа работают. Можете использовать любой из них. Для упрощения здесь будет использоваться определение метода в XAML. Теперь в функции MyButton_Click можно написать управляемый код, который будет изменять интерфейс или вызывать другие функции. Завершим наш пример приложения, добавив код, который будет изменять текст в TextBlock PageTitle (PageTitle – это Name, так что можно ссылаться на неё напрямую в коде) на «привет wp7». Чтобы сделать это допишем следующий код в функцию:

Private void MyButton_Click(object sender, RoutedEventArgs e) { PageTitle.Text = "привет wp7"; }

Выберем в настройках проекта Windows Device Emulator

И запустим приложение, нажав на зеленый треугольник или копку F5. После запуска приложения и нажатия на кнопку «Нажми меня», вид экрана должен быть аналогичным снимку экрана ниже:

Добавление новых страниц в проект

Только самое простое приложение состоит из одной страницы. Мы хотим научиться писать сложные многостраничные приложения. Мы можем использовать шаблоны Pivot, Panorama, можем использовать паттерн проектирования MVVM (Model-View-ViewModel), а сначала научимся добавлять новые страницы в проект и переходить между ними.

В окне Solution Explorer щелкнем правой кнопкой мыши по названия проекта, и в отобразившемся меню выберем, Add, далее New Item, в открывшемся диалоговом окне выберем Windows Phone Portrait Page и назовем её SecondPage.xaml:

Теперь у нас есть пустая XAML страница, точная копия страницы MainPage.xaml до того, как мы её отредактировали.

Чтобы лучше различать страницы, перейдем к XAML коду страницы SecondPage и у элемента TextBlock с Name PageTitle отредактируем свойство Text, как показано ниже:

Навигация между страницами приложения

Итак, у нас в проекте есть две страницы, при запуске приложения отображается страница MainPage.xaml. Как теперь перейти со страницы MainPage.xaml на SecondPage.xaml?

Попробуем два простых способа, как это сделать.

В XAML код файла MainPage.xaml после добавленного ранее кода Button, добавим код HyperlinkButton, как показано ниже: