Сайт о телевидении

Сайт о телевидении

» » Как создать приложение на windows. Разработка первого приложения для Windows Phone: Создание первого приложения

Как создать приложение на windows. Разработка первого приложения для Windows Phone: Создание первого приложения

Всем привет!

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

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

На сегодняшний день разработка приложений для 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» и 36 шрифтом;
  • - текстовый блок со словами « What’s your name?»;
  • - еще один StackPanel со своими параметрами;
  • - поле для ввода текста;
  • - закрытие первого StackPanel;
  • - закрытие второго StackPanel.

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

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

Есть мнение, что в реальной жизни смартфоны с ОС от Microsoft встречаются так же часто, как люди с отчеством «Артёмович». Странная (мягко говоря) политика «Корпорации зла» в отношении седьмого и восьмого семейств мобильной операционной системы отвратила множество пользователей от экспериментов с «окошками» для смартфонов, и сейчас корпорация всерьез взялась за исправление своего имиджа в этой пользовательской нише. Как подпольный фанат Microsoft я надеюсь, что у них все получится - «десятка» шагает по планете, ее главный козырь - одно ядро для всех платформ, и поэтому у нее есть все шансы перетянуть на себя хорошую часть мобильного рынка. А как программист я с удовольствием сделаю для тебя вводную статью по разработке под эту мобильную ось, чтобы ты всегда был готов к росту ее популярности:).

Обзор архитектуры

Благодаря общему ядру и системе выполнения приложений UWP однажды написанное приложение будет работать на всех девайсах под управлением Windows 10. В этот диапазон входят:

  • настольные компьютеры;
  • серверные системы - ОС Windows Server 2016;
  • ноутбуки - MS Surface Book;
  • планшеты - MS Surface Pro;
  • смартфоны - Lumia;
  • игровые приставки - Xbox One;
  • очки дополненной реальности - MS HoloLens;
  • настенные планшеты - MS Surface Hub;
  • умные часы - MS Band 2.

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

UWP поддерживает драйверы как уровня ядра, так и пользовательского уровня. Подсистема включает интерфейсы драйверов устройств (Device Driver Interface - DDI), из числа которых драйвер для UWP может использовать.

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

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

Для написания, отладки, развертывания и тестирования приложений под Windows 10 Mobile тебе понадобится Visual Studio 2015 (кто бы сомневался). Этим летом вышел третий апдейт. Категорически рекомендую! Основной его багфикс - это уменьшенное потребление памяти по сравнению со вторым апдейтом.

Также тебе понадобится Windows 10 Anniversary Update SDK : он включает все необходимые инструменты для разработки приложений под весь парк устройств, работающих на Windows 10. Если же используется VS 2015 с третьим обновлением, тогда в нее уже входит новейший SDK.

Одно из главных новшеств - это чернила Windows (Windows Ink). С помощью этого API можно двумя строчками кода добавить поддержку пера. Для этого существуют два объекта управления: InkCanvas и InkToolbar.

Новый Cortana API упрощает реализацию управления голосом. Компонент Cortana Actions в новом API позволяет создавать новые фразы/выражения.

Биометрическая аутентификация Windows Hello теперь стала доступна веб-разработчикам в браузере Edge.

Средство для моделирования пользовательских интерфейсов Blend for Visual Studio 2015 предоставляет расширенные возможности построения интерфейса по сравнению с VS. С его помощью на языке XAML можно создавать макеты всех поддерживаемых приложений: прикладных, веб, универсальных, мобильных и так далее. Также он содержит конструкторы для дополнительных задач, среди них создание анимации и управление поведением элементов.

Способы создания приложений для Windows 10 Mobile

Основной способ создания приложений для смартфонов с Windows 10 Mobile - это разработка универсальных (UWP) приложений (свиток Visual C# → Windows → Universal мастеры создания проекта).

Однако он не единственный. Как ты знаешь, в Visual Studio 2015 встроен Xamarin, с его помощью тоже можно создавать приложения для Windows 10 Mobile, одновременно для Android и iOS, меняя интерфейс и оставляя программную логику на C# (Visual C# → Cross-Platform).

Кроме языка Visual C#, равнозначно может быть выбран Visual Basic или Visual C++. VS 2015 позволяет создавать универсальные приложения с помощью JavaScript (JavaScript → Windows → Универсальные приложения). Их также можно развернуть на устройстве с Windows 10 Mobile.

Инструменты для работы с унаследованными проектами

За долгую историю операционной системы Windows для нее было создано колоссальное количество самых разных приложений. С выходом Windows 8 и WinRT (а позже Windows 10 и UWP) старые классические приложения остались в прошлом, поскольку только в настольных Win 8 и Win 10 поддерживаются классические Win32-, COM-, .NET-приложения. От этого в Microsoft стало грустно. Но ребята смекнули, что могут разработать конвертер, который будет преобразовывать старые приложения для новой продвинутой UWP-подсистемы. Из этого родился Desktop App Converter .

Преобразование Xcode-проекта выполняется в два шага. Сначала надо добавить подсветку синтаксиса языка Objective-C в Visual Studio: установить расширение objc-syntax-highlighting.vsix из папки winobjc\bin. Затем с помощью утилиты командной строки vsimporter.exe надо преобразовать проект на Xcode в проект на VS. После этого полученный sln-файл можно открыть в студии, где синтаксис Objective-C будет подсвечен. Можешь построить и запустить приложение, оно будет выполняться так же, как все другие Windows-программы.

Разрази меня гром, как это удивительно - видеть в Visual Studio корректно подсвеченный код Objective-C!

Для компиляции кода Obj-C используется свободный компилятор Clang . Поскольку на выходе получается стандартное UWP-приложение, его можно запустить на мобильном устройстве в среде Windows 10 Mobile. В одной программе может быть код на C++ и на Obj-C.

Если у тебя есть проект для прошлой версии Windows Phone, то есть 8.1 (или 8.0), то, когда ты его откроешь в VS 2015, студия автоматически обновит проект, чтобы он соответствовал требованиям универсального приложения Windows (UWP). Будет преобразована не только разметка пользовательского интерфейса на XAML, но и вместе с ней программная логика на JS/C++/C#/VB. Если в коде были вызовы подсистемы WinRT, тогда они будут преобразованы в вызовы UWP.

Есть еще распространенный тип приложений - игры. iOS и Android визуализируют посредством низкоуровневого интерфейса OpenGL. С другой стороны, на Windows 10 Mobile для вывода изображения в играх используется DirectX 11. Получается несовместимость. Но есть решение - открытый проект ANGLE . ANGLE (Almost Native Graphics Layer Engine) - движок почти нативного графического слоя - позволяет пользователям Windows бесшовно запускать OpenGL ES приложения на аппаратуре, работающей с DirectX 11. Это достигается путем преобразования вызовов с OpenGL ES API на DirectX 11 API. ANGLE полностью поддерживает следующие три типа приложений:

  • универсальные приложения для Windows 10 (Universal Windows apps);
  • приложения для Windows 8.1 и Windows Phone 8.1;
  • классические приложения для рабочего стола Windows (Windows desktop applications).

Более подробно вопрос рассматривается в моей книге «Волшебство момента вращения » (опять ты книгу свою пиаришь! Ну лаадно, заслужил. - Прим. ред.).

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

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