Стас Павлов Эксперт по стратегическим технологиями Windows Phone 8: что нового, что «старого» для разработчиков?

Презентация:



Advertisements
Похожие презентации
Msdevcon.ru#msdevcon. WINDOWS PHONE 8 ИСПОЛЬЗУЙ ВОЗМОЖНОСТИ ПЛАТФОРМЫ ПО МАКСИМУМУ Станислав Павлов Microsoft.
Advertisements

Microsoft TechDays Людмила Шайкина Quarta Consulting
Microsoft TechDays Заграничнов Александр Microsoft.
Новые продукты Microsoft для повышения качества и эффективности образования Амит Миталь Старший вице-президент Microsoft по развитию социальных проектов.
Microsoft TechDays Константин Трещев MCITP: Enterprise Administrator
Msdevcon.ru#msdevcon. OPEN SOURCE РЕШЕНИЯ В ОБЛАКЕ WINDOWS AZURE Воркачёв Владимир.
На примере одного дня из жизни руководителя. Поездка в Милан.
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Microsoft TechDays Павел Маслов MVP, Directory Services.
Msdevcon.ru#msdevcon. ПРОФИЛИРОВАНИЕ WINDOWS STORE ПРИЛОЖЕНИЙ Филипп Панфилов Mail.Ru Group.
Microsoft TechDays Никоноров Евгений разработчик EPAM Systems.
Microsoft TechDays Золотовицкий Аркадий Директор по производству «Интеллектуальные системы»
Microsoft TechDays Леонид Шапиро MCT ЦКО «Специалист»
Microsoft TechDays Черкас Дмитрий Специалист по технологиям Microsoft.
Будущее режима /hosting в Exchange Иван Макаров Менеджер по маркетингу Exchange Microsoft Россия.
Microsoft TechDays Виталий Дильмухаметов
Msdevcon.ru#msdevcon. Работа с асинхронными операциями в Win RT Иван Бодягин ABBYY.
Вычислительные ресурсы и приложения доступные через Интернет в виде сервисов Облачные вычисления.
Microsoft TechDays Марат Бакиров Эксперт по разработке ПО Microsoft
Транксрипт:

Стас Павлов Эксперт по стратегическим технологиями Windows Phone 8: что нового, что «старого» для разработчиков?

Новая аппаратная платформа

Общее ядро с Windows

Общее ядро ЭТО ОЗНАЧАЕТ такие компоненты ОС, как ядро, сеть, поддержка графики, файловая система и мультимедиа одинаковые на Windows 8 и Windows Phone 8 производители устройств работают с одной и той же моделью драйверов для обеих платформа Windows Phone получает поддержку многоядерности и других аппаратных возможностей, которые были у Windows уже давно возможности расширения платформы Windows Phone в будущем гораздо выше ЭТО НЕ ОЗНАЧАЕТ разработчики Windows Phone 8 и Windows 8 приложений использую один и тот же API

Разработка под Windows Phone 8.NET API для Windows Phone Windows Phone Runtime Win32 & COM УправляемыйУправляемый & Нативный Нативный WP7.1 XAML & C#/VB WP8.0 XAML & C#/VB WP8.0 игры DirectX/Direct 3D & C++ WP7.1 XNA & C#/VB WP8.0 XAML & C#/VB с Direct3D графикой C++ компоненты

Windows Phone Runtime – поднабор WinRT, плюс дополнения для телефона Windows (Phone) Runtime реализован на C++ и «проецирован» на C#, VB.NET и C++ HTML5/JavaScript проекция не достунпа Windows Phone 8 Windows Phone Runtime API Весь WinRT (~ 11,000) Windows Phone Runtime (~ 2,800) Только в Windows Phone Runtime (~ 600) Специфически для телефона API Windows Phone Runtime включают Синтез и распознавание речи Windows.Phone.Networking.Voip Windows.Phone.PersonalInformation LockScreen и LockScreenManager …

Появилось много нового WinRT API связанного с новой функциональностью Другие WinPRT API предоставляют возможности, аналогичные.NET APIs Разработчики на управляемом коде могут тот API, который им больше подходит При разработке для WP7.1 и WP8 –.NET API При разработке для WP8 и W8 – Windows Phone Runtime API API для разработки на управляемом коде.NET APIWindows Phone Runtime API System.IO.IsolatedStorageWindows.Storage System.NET.SocketsWindows.Networking.Sockets System.Threading.ThreadPoolWindows.System.Threading.ThreadPool Microsoft.Devices.SensorsWindows.Devices.Sensors System.Device.LocationWindows.Devices.GeoLocation

В дополнение к WinPRT, у вас есть доступ к некоторым Win32 API Winsock для низкоуровневой работы с сетью Camera API для приложения на C++ COM API – CoInitializeEx, CoTaskMemAlloc, CoTaskMemFree, CreateFile2, ReadFile, WriteFile, HeapAlloc, CreateMutexExW, WaitForSingleObjectW … В основном полезно С++ разработчикам Можно вызывать из управляемого кода, сделав обёртку Win32 и COM API

Что нового, что «старого» для разработчиков?

Карты NAVTEQ-овские векторные карты Есть возможность загрузки в оффлайне Доступны разработчику по умолчанию Построение пути Для совместимости доступен Bing SDK Четыре картографических модели

Геолокация Новый API по работе с геолокацией похож на Windows 8 API API геолокации Windows Phont 7.1 продолжает работать Фоновая работа приложений по работе с геолокациией продолжают исполняться, когда пользователь выходит из приложения позволяют реализовать сценарии трекеров или навигатора

Новые тайлы новых размеров Три типа тайлов Flip – переворачивается Iconic – как Outlook Cycle – как фотоальбом

Работа с экраном блокировки Приложение может быть зарегистрировано, как предоставляющее экрану блокировки: Детальный статус (текст) Статус (иконка и цифра) Фоновый рисунок

Регистрация протокола и расширения файла Приложение может зарегистрироваться как обработчик файлов с определённым расширением автоматически запустит приложение при открытии из письма, браузера, SharePoint или другого приложения Приложение может зарегистрироваться как обработчик определённого протокола Автоматически запустится, когда другое приложение откроет специальный URL stasp://ruteched?track=wph

Покупки внутри приложений Дополнительный способ монетизации «Модная» модель «freemeum» Поддерживается два типа покупок: Durables – покупка раз и навсегда, например, уровни игр Consumables – потребляемая покупка, например, внутриригровые деньги

Корпоративная разработка Позволяет загрузить приложение минуя Windows Phone Store Компания разрабатывает приложение Получает специальный сертификат Разворачивает сертификат на устройства Тем или иным образом разворачивает приложение на устройстве Управляет устройствами и/или отзывает сертификаты

Company Hub

Голосовые сервисы Возможность взаимодействия пользователя с вашим приложением голосом голосовые команды – нажатие центральной кнопки и команда для вашего приложения распознавание голоса и API чтения позволяет интегрировать голосовые сервисы в приложение

Бумажник Кредитные и дебитовые карты Карты лояльности и членские карты Доступ к сохранённым приложениям Поддержка технологии оплаты по NFC

Камера и фотографии Линзы Возможность расширять функционал камеры через специальный API Возможность получить превью картинки Новые возможности расширения фотохаба Автозагрузка фото в фоне Расширенное API взаимодействия с камерой

VoIP и видео чат Входящий VoIP работает как и обычный звонок Интегрируется со встроенными телефонными возможностями Работает в фоне Доступно всем разработчикам

Bluetooth и NFC Bluetooth API App-to-app App-to-device Proximity API App-to-app с использованием Bluetooth Соединение Wi-Fi, Bluetooth или Wi-Fi Direct между вашим приложением и им же запущенном на устройстве рядом Пересылка данных между устройствами с использованием NFC. Взаимодействие с NFC тагами

Сетевая работа Новый API работы с сетью Windows.Networking Windows Phone Runtime API Входящие сокеты System.Net.Sockets и Windows.Networking.Sockets Приложение может слушать входящие соединения IPv6 Поддержка Winsock API Облегчает портирование

Чтение с SD карты Приложение может читать файлы с карты Можно устанавливать приложения с карты Поддержка MicroSD

Собственный набор контактов Собственный набор контактов, видимый в хабе люди Предоставляется API для работы с контактами Расширенные свойства у контактов API для реализации синхронизации с вашим облачным сервисом хранения

Панель симуляции

Снимок экрана на реальном устройстве Новая возможность Windows Phone 8 Срабатывает по одновременному нажатию кнопки Windows и питания

Совместимость с Windows Phone 7.1 приложениями

В целом, платформа Windows Phone позволяет приложениям Windows Phone OS 7.1 работать без модификации и перекомпиляции Windows Phone 8 API может вести себя несколько по другому на WP 8.0 по сравнению с WP 7.1 Улучшение или изменение функционала Windows Phone OS 7.1 приложения и Windows Phone 8 WP OS 7.1 прило жения WP 8.0 Runtime/ Libraries без перекомпиляции WP OS 7.1 прило жения

Используется специальный режим, чтобы WP 7.1 приложения исполнялись на WP 8.0 Обновлённые и пересобранные для WP 8.0 приложения работают в стандартном режиме Windows Phone OS 7.1 приложения и Windows Phone 8 WP OS 7.1 прило жения WP 8.0 Runtime/ Libraries WP OS 7.1 прило жения +Quirks WP OS 8.0 прило жения без перекомпиляции

При конвертации WP7.1 кода на WP 8.0, удостоверьтесь, что вы не опираетесь на специфичное для WP 7.1 поведение или функционал Два стандартных сценария: Несовместимость на уровне исходного кода – поведение API меняется в WP8 по сравнению с WP 7.1 Пример: Свойство Assembly.GetType в WP 7.1 ищет тип а mscorlib.dll и в сборке из которой вызывается, а в WP8 – только в сборке из которой вызывается Несовместимость на бинарном уровне – поведение WP 7.1 невозможно полностью эмулировать на WP8. Приложение полностью работоспособное на WP 7.1 не будет работать на WP 8.0 Пример: Сборка мусора для WP8 реализована абсолютно по другому. Если приложение для WP 7.1 полагается на порядок финализации объектов, оно может не работать на WP 8.0 Конвертация кода для WP OS 7.1 на WP 8.0

Пример несовместимостей на уровне кода Код работающий по разному при сборке для WP8 и в quirk-режиме Windows Phone OS 8.0Windows Phone OS 7.1 Метод IsolatedStorageFile.FileExists(String) Передача null выпадает исключение ArgumentNullException. При передаче null метод возвращает false. Класс MutexИмя мьютекса не может содержать обратный слеш Обратный слеш возможем в имени мьютекса BeginRead, BeginWrite, EndRead, EndWrite и др. Операции ввода/вывода выполняются асинхронно Операции ввода/вывода выполняются синхронно Свойства Thread.CurrentCulture и Thread.CurrentUICulture Изменения в культуре и культуре UI распространяются только на текущий поток Изменения в культуре и культуре UI распространяются на все потоки приложения Класс XmlSerializerСериализиуемые типы должны иметь конструктор по умолчанию – без парамертров Сериализиуемые типы не обязнаы иметь конструктор по умолчанию …. и много других …. !См. в документации раздел Windows Phone app platform compatibility

Пример несовместимостей на бинарном уровне Code that Behaves Differently When run on WP8, whether it is compiled for WP OS 7.1 or for WP8 Изменения в Windows Phone OS 8.0 Как это влияет на код для Windows Phone OS 7.1 Background File TransfersКоличество одновременных скачиваний/закачиваний увеличено с 5 до 25 Код, подразумевающий, что закачек не может быть больше 5 – может перестать быть рабочим Доступ к приватным вложенным классам Windows Phone OS 7.1 позволяет получить доступ ко вложенным приватным классам. В WP8 доступ к вложенным приватным классам не поддерживается. …. и много других …. !См. в документации раздел Windows Phone app platform compatibility

The information herein is for informational purposes only an represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.