Статьи

Windows Phone 8: кратко: введение

Смартфоны и планшеты, без сомнения, являются королями потребительского рынка. Традиционные компьютеры не исчезнут в ближайшее время, особенно в деловом мире, но во многих случаях мобильные устройства заменили старый подход «мышь и клавиатура» на более современный и интуитивно понятный, основанный на сенсорных и естественных интерфейсах. Безусловно, iPhone от Apple был продуктом, который заставил все остальные компании переосмыслить мобильные технологии: во-первых, с новой концепцией телефона, а во-вторых, с идеей приложений и магазинов приложений. В наши дни одним из ключевых факторов при выборе нового телефона является доступность и качество приложений, а не только функции, предлагаемые платформой. Разработчики играют важную роль в этом.

Microsoft, возможно, присоединилась к вечеринке немного поздно, но сделала это с новым и новым подходом. Microsoft разрабатывала Windows Mobile 7, когда поняла, что телефон не будет привлекательным продуктом для потребителей, которые начинают привыкать к устройствам iPhone или Android. Таким образом, его разработчики отказались от проекта и начали с нуля создавать совершенно новую платформу: Windows Phone 7. Результат действительно отличался от других конкурентов: новый пользовательский интерфейс, основанный на плоском стиле дизайна, который называется Microsoft Design style (когда-то известный как Метро); и глубокая интеграция с социальными сетями и всеми службами Microsoft, такими как Office, SkyDrive и Xbox.

Текущая версия платформы (о которой пойдет речь в этой серии) — Windows Phone 8; посередине Microsoft выпустила обновление под названием Windows Phone 7.5, которое добавило много новых потребительских функций, но, прежде всего, улучшило опыт разработчика, добавив много новых API.

Windows Phone 8 — это новое начало для платформы: Microsoft отказалась от старого стека технологий, используемых в Windows Phone 7 (ядро Windows Mobile, Silverlight, XNA), чтобы охватить новые функции, представленные в Windows 8, такие как новое ядро, Среда выполнения Windows и поддержка нативного кода (C ++).

По этой причине Windows Phone 8 недоступен в качестве обновления для старых устройств Windows Phone 7. Чтобы помочь пользователям в переходе, Microsoft выпустила промежуточное обновление под названием Windows Phone 7.8, которое перенесло некоторые новые функции Windows Phone 8 (например, новые форматы плиток) на старые устройства.

С момента выпуска Windows Phone 8 Microsoft выпустила три обновления:

  • Обновление 1 (или GDR1), в которое добавлены некоторые улучшения в Internet Explorer, подключении к Wi-Fi и обмене сообщениями
  • Обновление 2 (или GDR2), которое улучшило поддержку учетных записей Google, Xbox Music и Skype, добавило поддержку FM-радио и расширило доступность приложения Data Sense для отслеживания трафика данных
  • Обновление 3 (или GDR3), в котором добавлена ​​поддержка нового разрешения (1080p), режима вождения, ориентации блокировки экрана и улучшенного управления памятью, а также улучшен стек Bluetooth и Wi-Fi.

Разговор об аппаратном обеспечении важен, потому что он тесно связан с опытом разработки и функциями, которые вы можете использовать при разработке приложения. С Windows Phone Microsoft представила подход, который является гибридом между Apple и Google.

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

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

Вот ключевые особенности устройства Windows Phone 8:

  • поддержка многоядерных процессоров (двухъядерные и четырехъядерные процессоры)
  • не менее 512 МБ ОЗУ (обычно 1 ГБ или 2 ГБ на устройствах высокого класса)
  • минимум 4 ГБ дискового пространства (которое можно расширить с помощью Micro SD)
  • камера
  • датчики движения (акселерометр, гироскоп, компас), опционально
  • датчик приближения, опция
  • Wi-Fi и 3G соединение
  • GPS
  • четыре поддерживаемых разрешения: WVGA (480 × 800), WXGA (768 × 1280), 720p (720 × 1280) и 1080p (1080 × 1920)
  • три аппаратные кнопки: Назад, Пуск и Поиск

Среда выполнения Windows — это новый уровень API, который Microsoft представила в Windows 8, и это основа нового и более современного подхода к разработке приложений. На самом деле, в отличие от .NET Framework, это нативный уровень, что означает лучшую производительность. Кроме того, он поддерживает широкий спектр API, которые охватывают многие из новых сценариев, которые были представлены в последние годы: геолокация, датчики движения, NFC и многое другое. В конце концов, он хорошо подходит для асинхронных и многопоточных сценариев, которые являются одним из ключевых требований мобильных приложений; пользовательский интерфейс должен быть всегда отзывчивым, независимо от того, какую операцию выполняет приложение.

Под капотом операционной системы Microsoft представила Windows Phone Runtime . По сравнению с исходной средой выполнения Windows, в ней отсутствуют некоторые функции (в частности, все API-интерфейсы, которые не имеют большого смысла в телефоне, например API-интерфейсы печати), но добавлено несколько новых, специфичных для платформы (например, интеграция с концентратором, контакты и доступ к встречам и т. д.).

Microsoft столкнулась с проблемой при разработке Windows Phone 8: в Магазине Windows Phone уже было опубликовано множество приложений, основанных на «старых» технологиях, таких как Silverlight и XNA. Чтобы не заставлять разработчиков писать свои приложения с нуля, Microsoft представила три функции:

  • Стек XAML был перенесен непосредственно из Windows Phone 7, а не из Windows 8. Это означает, что XAML по-прежнему управляется и не является собственным, но он полностью выровнен с предыдущим, так что, например, такие функции, как поведение, для которых поддерживается был добавлен только в Windows 8.1, все еще доступны). Таким образом, вы сможете повторно использовать все XAML, написанные для приложений Windows Phone 7, без необходимости изменять или исправлять их.
  • Благодаря функции, называемой режимом причуд , приложения, написанные для Windows Phone 7, могут работать на устройствах под управлением Windows Phone 8 без необходимости вносить какие-либо изменения в большинстве случаев. В этом режиме можно переводить вызовы Windows Phone 7 API в соответствующие вызовы среды выполнения Windows.
  • Среда выполнения Windows Phone включает в себя слой .NET для Windows Phone , который представляет собой подмножество API-интерфейсов, которые были доступны в Windows Phone 7. Благодаря этому уровню вы сможете использовать старые API-интерфейсы в приложении Windows Phone 8, даже если они были заменены новыми API в среде выполнения Windows. Таким образом, вы сможете перенести свои старые приложения на новую платформу без необходимости переписывать весь код.

Как и полная среда выполнения Windows, в Windows Phone 8 добавлена ​​поддержка C ++ в качестве языка программирования, а слой WinJS , представляющий собой библиотеку, которая позволяет разработчикам создавать приложения для Магазина Windows с использованием HTML и JavaScript, отсутствует. Если вы хотите разрабатывать приложения для Windows Phone с использованием веб-технологий, вам придется полагаться на элемент управления WebBrowser (который встраивает веб-представление в приложение) и использовать функции, предоставляемые такими структурами, как PhoneGap.

Эта серия статей будет посвящена разработке с использованием C # в качестве языка программирования и XAML в качестве языка пользовательского интерфейса. Мы не будем говорить о C ++ или VB.NET (доступные API-интерфейсы одинаковы, поэтому будет легко использовать знания, полученные при чтении этой серии). Кроме того, поскольку эта серия посвящена Windows Phone 8, я расскажу только о API среды выполнения Windows. В областях, где дублируются API-интерфейсы (имеется в виду, что существуют API-интерфейсы Windows Runtime и .NET для Windows Phone для выполнения одной и той же задачи, такие как хранилище или датчики), я расскажу только о Windows Runtime.

Официальной платформой для разработки приложений для Windows Phone является Visual Studio 2012 , хотя в коммерческие версии Visual Studio 2013 также была добавлена ​​поддержка. Основное отличие состоит в том, что, хотя Visual Studio 2012 по-прежнему позволяет открывать и создавать проекты Windows Phone 7, Visual Studio 2013 можно использовать только для разработки приложений Windows Phone 8.

Когда мы говорим о разработке Windows Phone, между этими двумя версиями нет различий: поскольку SDK одинаков, вы получите одинаковые функции в обеих средах, поэтому мы будем использовать Visual Studio 2012 в качестве справочного материала для этой серии.

Для начала вам необходимо скачать Windows Phone 8 SDK с официального портала разработчиков . Эта загрузка подходит как для новых разработчиков, так и для разработчиков Microsoft, у которых уже есть коммерческая версия Visual Studio 2012. Если у вас еще не установлена ​​Visual Studio, программа установки установит бесплатную версию Express; в противном случае он просто установит SDK и эмулятор и добавит их в существующую установку Visual Studio.

Программа установки также установит Blend для Windows Phone , инструмент, разработанный Microsoft специально для дизайнеров. Это визуальный редактор XAML, который облегчает создание пользовательского интерфейса для приложения Windows Phone. Если вы разработчик, вы, вероятно, будете тратить большую часть времени на написание XAML вручную в редакторе Visual Studio, но он может быть полезным дополнением, когда речь идет о более сложных вещах, таких как создание анимации или управление визуальными состояниями элемента управления. ,

Для установки Windows Phone 8 SDK вам потребуется компьютер с 64-разрядной версией Windows 8 Pro или Windows 8 Enterprise . Это необходимо, поскольку эмулятор основан на Hyper-V , технологии виртуализации Microsoft, доступной только в профессиональных версиях Windows. Кроме того, существует требование к оборудованию: ваш ЦП должен поддерживать преобразование адресов второго уровня ( SLAT ), которое является функцией ЦП, необходимой для правильной работы Hyper-V. Если у вас более новый компьютер, вам не о чем беспокоиться; В основном все архитектуры от Intel i5 и в дальнейшем поддерживают его. В противном случае вы все равно сможете установить и использовать SDK, но вам понадобится реальное устройство для тестирования и отладки.

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

Тестирование и отладка приложения Windows Phone на устройстве перед его отправкой в ​​Windows Phone Store является обязательным требованием; Только на реальном телефоне вы сможете проверить истинную производительность приложения. Во время ежедневной разработки использование устройства может замедлить работу. Это когда эмулятор полезен, особенно потому, что вы легко сможете тестировать различные условия (например, разные разрешения, потеря подключения и т. Д.).

Эмулятор представляет собой виртуальную машину на базе Hyper-V, которая может взаимодействовать с оборудованием вашего компьютера. Если у вас есть сенсорный монитор, вы можете имитировать сенсорный экран телефона; если у вас есть микрофон, вы можете имитировать микрофон телефона и т. д. Кроме того, эмулятор поставляется с набором дополнительных инструментов, которые полезны для тестирования некоторых сценариев, для которых требуется физическое устройство, например, использование акселерометра или датчика GPS.

Вы сможете запустить эмулятор прямо из Visual Studio. Существуют разные версии эмулятора для соответствия различным разрешениям и размерам памяти, доступным на рынке.

Приложения для Windows Phone публикуются в Магазине Windows Phone, что является основным способом для разработчиков распространять свои приложения. Однако есть два исключения: корпоративные компании и разработчики для целей тестирования.

Чтобы начать публиковать приложения, вам потребуется учетная запись разработчика, которую можно приобрести на официальном портале . Плата составляет 19 долларов в год и позволяет публиковать неограниченное количество платных приложений и до 100 бесплатных приложений. Недавно Microsoft объединила опыт разработчиков для своих двух основных платформ. Это означает, что с учетной записью разработчика вы также сможете публиковать приложения Магазина Windows для Windows 8 в Магазине Windows.

Учетная запись разработчика также связана с тестированием. Фактически, по умолчанию телефоны заблокированы, и единственный способ установить сторонние приложения — через Windows Phone Store. Все разработчики могут разблокировать телефоны бесплатно, даже если у них нет платной учетной записи; Разница в том, что при бесплатной учетной записи можно разблокировать только один телефон и загрузить на него только два приложения. Благодаря платной учетной записи разработчики могут разблокировать до трех телефонов и загружать до 10 приложений на каждом.

Развертывание приложения можно выполнить непосредственно из Visual Studio или с помощью инструмента, установленного вместе с SDK, который называется Развертывание приложения .

Чтобы разблокировать телефон, вам потребуется еще один инструмент, входящий в комплект SDK, который называется « Регистрация разработчика Windows Phone» . Вам нужно будет подключить телефон к компьютеру и войти в систему с той же учетной записью Microsoft, которую вы использовали для регистрации учетной записи разработчика.

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

Мы расскажем подробнее о процессе публикации в последней статье этой серии.

Microsoft представила новую программу для разработчиков, чтобы предоставить ранний доступ к новым обновлениям Windows Phone. Таким образом, разработчики могут тестировать свои приложения в соответствии с последними выпусками ОС, прежде чем распространять их среди пользователей.

Чтобы подписаться на программу, вы должны:

  • собственный разработчик разблокированный телефон
  • иметь платную учетную запись разработчика или бесплатную учетную запись в App Studio , веб-инструменте, созданном Microsoft для простого создания приложений Windows Phone без навыков программирования

Выполнив эти требования, вы можете скачать приложение Preview for Developers из Магазина .

После его установки вам нужно будет запустить его и включить программу предварительного просмотра, приняв положения и условия. После завершения процесса предварительные обновления будут доставляться как обычные обновления: вам придется перейти в раздел « Обновления » на странице настроек и проверить наличие новых обновлений. На момент написания этой статьи Microsoft выпускает GDR3 с этой программой предварительного просмотра.

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

Отправной точкой каждого приложения Windows Phone является Visual Studio 2012. Давайте посмотрим, как создать проект и как он структурирован.

Первый шаг — открыть Visual Studio 2012 и нажать « Новый проект» . В доступных установленных шаблонах вы найдете раздел Windows Phone , содержащий все шаблоны, связанные с разработкой Windows Phone.

Мы собираемся использовать самое простое приложение для Windows Phone , которое содержит только начальную страницу. Дайте ему имя и нажмите ОК . Вас спросят, какую платформу вы собираетесь поддерживать. Поскольку мы рассматриваем разработку Windows Phone 8, выберите Windows Phone 8.0 . Дизайнер автоматически загрузит начальную страницу и в окне обозревателя решений вы увидите структуру проекта. Давайте посмотрим на это подробно:

Структура стандартного проекта Windows Phone

Файл App.xaml является отправной точкой каждого приложения Windows Phone: он заботится об инициализации приложения и фрейма, который будет содержать страницы. Кроме того, поскольку экземпляр класса App (который определен в файле App.xaml.cs ) всегда сохраняется во время выполнения приложения, он также используется для определения всех глобальных настроек. Например, вы можете перехватить событие жизненного цикла, о котором мы расскажем позже в этой серии, или определить глобальные стили и ресурсы XAML, которые будут использоваться в приложении.

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

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

Папка Resources содержит все файлы, необходимые для управления локализацией. По умолчанию вы найдете только один файл с именем AppResources.resx , который содержит базовый язык (обычно английский, но вы можете выбрать другой). Любой другой язык будет поддерживаться путем добавления нового файла AppResources. Файл LocalizedStrings.cs добавляется по умолчанию в корневой каталог проекта, и это класс, который мы будем использовать для управления локализацией. Мы рассмотрим это более глубоко позже в этой серии.

Внутри папки « Свойства » вы найдете файл с именем WMAppManifest.xml . Это очень важный файл. Он называется манифестом, потому что он используется для объявления всех возможностей и возможностей приложения. Его роль имеет решающее значение в процессе сертификации; Благодаря этому файлу автоматический процесс может извлекать всю необходимую информацию о приложении, такую ​​как заголовок, поддерживаемые разрешения, используемые функции и т. д.

Visual Studio 2012 предоставляет визуальный редактор для файла манифеста; просто дважды щелкните файл, чтобы открыть его. Важно отметить, что не все сценарии использования поддерживаются визуальным редактором. Иногда нам приходится вручную редактировать XML, чтобы расширить наше приложение.

Редактор разделен на четыре раздела:

  • Интерфейс приложения. Содержит всю информацию о внешнем виде приложения после его установки на телефон, например, название, поддерживаемые разрешения, шаблон и стандартные изображения, которые будут использоваться в качестве основной плитки.
  • Возможности . Перечисляет все аппаратные и программные функции, которые может использовать приложение, такие как камера, службы геолокации, сетевое взаимодействие и т. Д. В большинстве случаев использование функции, для которой не были объявлены конкретные возможности, приведет к исключению, когда приложение казнены. В этой серии я буду отмечать каждый раз, когда мы используем функцию, которая требует определенных возможностей.
  • Требования : список определенных аппаратных функций, которые могут использоваться вашим приложением, например, камера или NFC. Если вы установите требования, пользователи, у которых есть телефоны без этих специфических аппаратных функций, не смогут загрузить приложение.
  • Упаковка : определяет функции пакета, которые будут опубликованы в магазине, такие как автор, издатель, язык по умолчанию и поддерживаемые языки.

Если вы уже разработали приложения для Windows Phone 7, вы должны быть знакомы с заставкой. Это статичное изображение, которое немедленно отображается при открытии приложения и исчезает, когда приложение полностью загружено и готово к использованию.

Заставка была частью стандартного шаблона Visual Studio для проектов Windows Phone 7, но она была удалена в проектах Windows Phone 8. Из-за улучшений производительности, представленных в среде выполнения Windows, приложения теперь запускаются намного быстрее, поэтому обычно не требуется заставка.

Если вам нужен экран-заставка, вам придется вручную добавить его в проект в соответствии с определенным соглашением об именах: он должен быть в формате JPG, имя файла должно быть SplashScreenImage.jpg , а требуемое разрешение — 768 ×. 1280 Таким образом, изображение будет автоматически адаптировано к разрешению устройства. Если вы хотите полностью контролировать разрешение устройства, вы можете добавить три разных изображения, по одному для каждого поддерживаемого разрешения. В этом случае соглашение о присвоении имен будет следующим:

  • SplashScreenImage.screen-WVGA.jpg для устройств 480 × 800.
  • SplashScreenImage.screen-WXGA.jpg для устройств 768 × 1280.
  • SplashScreenImage.screen-720p.jpg для устройств 720 × 1280.

Разрешение 1080p с точки зрения соотношения сторон ведет себя как 720p: если ваше приложение запускается на устройстве 1080p, будет использоваться заставка 720p, если она существует.

Когда вы будете готовы протестировать свое приложение, вы можете развернуть его на устройстве или в эмуляторе непосредственно из Visual Studio. В области панели инструментов вы найдете то, что выглядит как кнопка воспроизведения, вместе с описанием цели развертывания. Вы можете выбрать одну из пяти различных целей: реальное устройство, две версии эмулятора WVGA (одна с 512 МБ ОЗУ и одна с 1 ГБ ОЗУ), эмулятор WXGA и эмулятор 720p. Время от времени список может быть длиннее, потому что Microsoft периодически выпускает обновления SDK для добавления новых эмуляторов, соответствующих новому выпуску операционной системы. Например, Microsoft уже выпустила обновление SDK, которое добавляет образы эмулятора, выровненные с выпуском GDR2.

Параметры для отладки приложения Windows Phone с SDK по умолчанию

Когда приложение работает в режиме отладки, автоматически включаются две функции:

  • В правой части экрана отображаются счетчики производительности, такие как количество кадров в секунду или использование памяти. Они помогут вам определить потенциальные проблемы с производительностью вашего приложения (для получения более подробной информации см. Изображение ниже).
  • Телефон или эмулятор никогда не будут приостановлены — функция «автоматической блокировки», которая отключает экран после того, как он не используется, обычно включена на устройствах, но в режиме отладки эта функция отключена.
Различные счетчики, доступные в режиме отладки

В этой первой статье мы начали знакомиться с некоторыми важными концепциями, с которыми каждый разработчик Windows Phone должен быть знаком:

  • Мы изучили основные программные и аппаратные функции платформы, которыми могут воспользоваться разработчики.
  • Мы обсудили среду выполнения Windows, которая является ядром новейших технологий Microsoft, таких как Windows 8 и Windows Phone 8.
  • Мы увидели, как начать работать с Windows Phone: какие инструменты загрузить и установить, как создать первый проект и структуру приложения Windows Phone.

Это руководство представляет собой главу из Windows Phone 8 Succinctly , бесплатной электронной книги от команды Syncfusion.