Как написать приложение для windows 10 phone. Разработка приложения для Windows Phone. Подготовка рабочего окружения

12.06.2019

Телефоны на Windows 10 Mobile появились с существенной задержкой относительно Android и iOS, пообещав за потерянное время лучшие возможности. Обещание оказалось пустым, а ведь это был ключевой момент в развитии Windows, как универсальной системы для всех устройств. Более того, приложения в Windows 10 остаются настолько инородными, что даже спустя столько лет существования Microsoft Store остаётся в разы беднее App Store и Google Play.

Тем не менее, говорить о том, что умение разрабатывать приложения для Windows 10 бесполезно – преждевременно. Во-первых, у Microsoft есть желание в 2017-2018 году запустить серию мобильных телефонов под линейкой Surface, рассчитанную на бизнес-аудиторию, то есть занять нишу, освобождённую после ухода с рынка BlackBerry.

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

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

Знакомство

Первым делом поближе познакомьтесь со универсальной платформой для приложений, которая с этого места будет носить своё официальное название – Universal Windows Platform или просто UWP. Появилась она ещё во времена Windows 8, а сегодня обросла всеми необходимыми удобствами. Концепция хоть и носит лозунг «одно приложение для всех устройств», но для хорошего приложения ориентироваться на отдельный тип всё-таки придётся. В общем, все возможности и ограничения UWP вы узнаете если прочитаете официальный релиз от Microsoft:

Язык

В информационном листе Microsoft вы можете найти следующую фразу: «Вы можете создавать приложения UWP на тех языках программирования, с которыми вы знакомы лучше всего…». Фактически, это не совсем так. Вам на выбор предлагаются 4 из них: C# , Visual Basic , C++ и JavaScript . Безусловно, это лучше, чем строгое ограничение, но универсальностью это назвать затруднительно.

Кстати, справочники по всем четырём языкам можно найти непосредственно на сайте Microsoft или просто нажав на предоставленные ссылки. Также на нашем сайте вы можете пройти бесплатный .

Программное обеспечение

Главное детище Microsoft, ориентированное на разработчиков приложений для всевозможных платформ – Visual Studio. Скачать его можно также с официального сайта , выбрав подходящую версию. Как с ним работать, какие в вашем распоряжении могут быть инструменты, а главное куда надо нажимать, вы узнаете из руководства . Обязательным для скачивания будет и пакет SDK . На этой же странице вы найдёте всю интересующую информацию по работе с ним.

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

Оформление

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

Разработка приложения

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

Литература

В конце перечислим несколько популярных книг и ресурсов, которые помогут создать идеальное приложение для Windows:

Windows 10 Development for Absolute Beginners – как понятно из названия, эта книга посвящена желающим создать своё первое приложение именно на Windows 10;

Building Windows 10 Applications with XAML and C# Unleashed (2nd Edition) , Adam Nathan – и вновь название книги красноречиво отражает её содержание;

Real World Windows 10 Development , Edward Moemeka, Elizabeth Moemeka – полноценный гид по разработке приложения для Windows 10, начинающийся с обзора самой ОС, её преимуществ и недостатков, и завершающийся верификацией и выгрузкой созданного вами объекта;

Location Intelligence for Windows Store apps , Ricky Brundritt – подробное руководство по разработке приложений для Windows. Посвящена 8 части ОС, поэтому периодически необходимо сверяться с официальной документацией, что ничуть не снижает ценности данной литературы;

– в книге довольно обще описается жизненный цикл Windows-приложения и куда подробнее – сторонних функций и инструментов;

Форум разработчиков Windows – задать вопросы и обсудить насущные проблемы разработки;

A Developer"s Guide to Windows 10 – часовой видеоурок, который поможет разобраться во всех тонкостях;

Разрабатывать приложения под Windows Phone не так уж и сложно, особенно если вы пытаетесь сделать приложение, которое предоставляет информацию об услугах и товарах или собирает данные из RSS-ленты.

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

Недавно компания Microsoft запустила собственную студию для создания приложений — Windows Phone App Studio . Это простой инструмент, который позволит вам создавать работающие приложения с нуля. Например, на разработку простого приложения о котором идет речь в статье, вам потребуется менее 15 минут, так как в данном конструкторе представлены стандартные шаблоны. Конечно, мы сейчас не говорим о разработке сложных программ или игр, но для начала этой статьи вам будет достаточно.

Подобно приложениям Access, программы созданные при помощи Windows Phone App Studio используют подключения к данным, то есть они построены по модели просмотра master/detail. Вы можете подключить фид контента (будь то RSS, Youtube и т.п.), либо использовать его для публикации собственного контента. Конечно же, приложение способно и на то, и на другое одновременно. Кроме фидов, у вас также будет возможность размещать собственный контент, будь то скомпилированные в код HTML-страницы, или страницы, организованные при помощи простых баз данных, которые Microsoft называет “collections”.

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

Мы привязали наше тестовое приложение к RSS-фиду great-world . Все, что нам нужно, это URL фида, и конструктор автоматически создаст окно просмотра, на котором отображается список свежих статей, а также второе окно просмотра с отображением подробной информации о статьях.

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

3. Теперь, нужно будет задать название, описание, а также выставить размером 160х160 пикселей.

4. Ну и завершающая стадия — генерация и публикация приложения. Вот, что получилось у нас:

На финише, доступен предосмотр созданного приложения, можете проверить как оно будет работать на смартфоне или планшете. Если все хорошо, нажимайте кнопку «Generate», появляется всплывающее окно:

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

  • Чтобы выложить получившееся чудо в Windows Phone Store т.е. в магазин приложений, чтобы его мог скачать любой желающий, а не только вы, необходим сертификат разработчика. Стоит он около 600 рублей.

Сразу очевидно, что этот инструмент направлен на сценарии BYODev, — когда вам нужно быстро получить приложение, и при этом не ввязываться в полноценный процесс разработки. Хотя стоит отметить, что за вами остается возможность скачивать готовые исходные коды, и использовать этот инструмент для прототипирования перед тем, как отдать их на доработку команде разработчиков. Вы наверняка сможете самостоятельно привязывать источники данных в виде коллекций, размещенных в облаке.

Это одна из веских причин, из-за которых Microsoft позволяет вам скачивать исходный код, который подготовлен к работе в Visual Studio. Он будет укомплектован в проект Visual Studio, и его можно будет импортировать напрямую в настольный IDE, а затем провести работу над ошибками. Отладка приложения при помощи любимого симулятора устройств поможет вам быстро выявить проблему – вставленное в начало статьи изображение было удалено на сервере. Можно быстро изменить код, и приложение снова заработает.

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

Относительно создания подобных приложений очевидно лишь одно: они не предназначены для создания комплексных приложений. Они похожи на пластиковые игрушки для детей: все перед нами, и нам остается лишь сложить что-то со смыслом. По мере накопления опыта за счет подобных «игровых» площадок, вы можете постепенно переходить к оформлению кода, и использовать его для создания более сложных вещей. При помощи наборов инструментов типа Windows Phone App Studio, вы можете получать определенный опыт работы с приложениями, основанными на контенте, с RSS-фидами, веб-контентом и локальным контентом.

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

На сегодняшний день разработка приложений для W indows 10 M obile является одним из наиболее перспективных направлений.

Многие программисты переучиываются и осваивают эту область свой деятельности самостоятельно.

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

Поэтому мы разберем те шаги, которые должны предпринять .

Cодержание:

Вводная информация

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

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

Возможно, вы выучились в колледже или прошли какие-то курсы для .

Если это так, данная инструкция специально для вас.

Переходим непосредственно к теме разработки.

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

Они подходят для абсолютно всех устройств, которые работают на .

На рисунке 1 то, что написано выше, показано на схеме.

Само существования универсальных приложений основывается на понятии UWP (Universal Windows Platform ).

Такие программы (Universal Apps ) подходят для самых разных устройств – ПК, мобильные аппараты, и так далее.

Они объединены такими компонентами:

  • Adaptive User Interface – адаптивный интерфейс, то есть такой внешний вид программы, который может самостоятельно меняться в зависимости от устройства, на котором он работает;
  • Natural User Inputs – набор устройств для ввода данных, таких как микрофон, стилус и подобное;
  • One SDK + Tooling – универсальная для разных устройств среда разработки и сопутствующий набор инструментов;
  • One Store + One Dev Center – один магазин, из которого можно взять приложения для разных девайсов, и один центр разработчиков;
  • Cloud Services – , благодаря которым можно организовать совместный процесс разработки или просто хранить программы и файлы в одном месте, доступном с разных гаджетов.

Благодаря такому подходу можно очень серьезно оптимизировать свою работу.

Основной его плюс состоит в том, что не нужно писать, к примеру, 2 отдельных и .

Вы пишите одну программу, а она сама адаптируется под девайс, на котором запускается.

Поэтому такого понятия, как отдельная программа под W indows 10 M obile на сегодняшний день не существует в принципе.

Вместо него есть UWP .

Примечательно, что когда в обиходе была ОС W indows Phone (операционная система, которая предшествовала Win Mobile ), такого подхода не было предусмотрено. Приходилось делать программу под компьютер, а затем пытаться портировать (другими словами, адаптировать) ее для . Хотя в подавляющем большинстве случаев приходилось вести разработку с нуля. Как вы понимаете, это было крайне неудобно.

Благо, что сейчас все изменилось, и мы имеем универсальный способ программирования.

Теперь перейдем к практике.

Способы разработки под W indows 10 M obile

Исходя из вышесказанного, можно выделить три способа написать программу для W indows 10 M obile:

Cross-Platform . В программной среде Visual Studio (это один из инструментов разработчика, о которых мы поговорим в следующем разделе) есть такой компонент, как Xamarin. Так вот, благодаря нему есть возможность разрабатывать программы для Windows 10 Mobile, и одновременно. Перед разработчиком будут три экрана, в которых он сможет менять интерфейс своего творения. А программная логика будет оставаться неизменной. Используется C#.

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

Как видите, оптимальным является первый способ, особенно если речь идет о начинающем мастере кода.

Поэтому есть смысл разобраться, какие инструменты понадобятся для создания программы таким методом.

Что нужно для разработки – изучаем инструментарий

Все это вам нужно будет скачать прямо сейчас, чтобы начать творить! Скажем сразу, все это есть Microsoft .

Итак, вот что вам потребуется:

Visual Studio . Это среда разработки. Именно в ней вы будете писать код, видеть внешний вид будущего приложения, компилировать его (запускать иными словами) и так далее. Загрузить VS можно с сайта visualstudio.com . Там есть 3 версии – Community, Professional и Enterprise . Первая – бесплатная и в ней минимальный функционал. Но этого вполне хватит для того, чтобы заниматься разработками под Win 10 Mobile . Остальные две – платные и у них значительно расширен функционал.

Windows 10 Anniversary Update SDK . Это обновленный пакет инструментов, необходимых для разработки под весь ассортимент гаджетов, работающих на ОС Виндовс 10. Скачать его можно на сайте developer.microsoft.com . Этот компонент нужно просто установить после загрузки. Он автоматически «встроится» в VS .

Начинающим мастерам будет вполне достаточно Visual Studio Community в сочетании с Windows 10 Anniversary Update SDK.

Важно! Обязательно проверьте системные требования Visual Studio. Вполне возможно, ваш компьютер не потянет версию 2017. На том же сайте можно найти более ранние VS .

В будущем, когда вы освоите основные азы, можно будет также попробовать использовать Blend for Visual Studio.

Но это актуально, только если вы используете Visual Studio не 2017, а более старую версию.

В VS 2017 такой инструмент просто не имеет смысла. Там от него и так взято самое лучшее.

Лицензия разработчика и разблокировка

В нашем случае также потребуется лицензия разработчика. Это актуально если вы работаете на

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

Так что ничего дополнительно делать вам не потребуется.

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

Конкретно нужно сделать следующее:

  • С помощью поиска найдите меню « Update & Security » («Обновления и безопасность» если по-русски).
  • Там в меню слева выберете « For developers » («Для разработчиков»).
  • Поставьте отметку возле надписи « Developer mode » («Режим разработчика»).

Иногда, если не выполнить это простое действие, возникают проблемы с дальнейшей работой.

Пример приложения – «Hello World»

Итак, чтобы написать ваше первое приложение, сделайте вот что:

1 Запустите установленную Visual Studio. Выберете «Файл », затем «Создать» и «Проект» .

2 Откроется окно «Создание проекта» . Нажмите на панели слева «У становленные » , затем кликните «Visual C++ » (мы пока что будем использовать именно этот язык) и дальше пункт «Универсальные приложения для Windows » .

3 В центральной части открытого окна оставьте все как есть. Там должен быть выбран пункт «Пустое приложение…» .

4 Внизу введите название проекта, расположение исходников и имя ярлыка.

5 Нажмите «ОК» в левом верхнем углу.

6 На панели слева вы найдете список всех файлов проекта. Не вдаваясь в подробности, скажем, что код пишется в файле с расширением.xaml. В нашем случае это «MainPage.xaml». Откройте его, и в центральной части появится поде для кода.

  • - элемент « StackPanel» является своеобразным контейнером для других элементов, здесь мы указываем его длину и высоту;
  • Hello World» FontSize=»36″/>Hello World» и 36 шрифтом;
  • - текстовый блок со словами « What’s your name?»;
  • - еще один StackPanel со своими параметрами;
  • - поле для ввода текста;
  • - закрытие первого StackPanel;
  • - закрытие второго StackPanel.

8 Нажмите кнопку «F5 » на клавиатуре, чтобы увидеть, как работает программа.

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

В диалоге 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, как показано ниже:

Похожие статьи