Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемИнесса Дорикова
2 Стас Павлов Эксперт по стратегическим технологиями Windows Phone 8: что нового, что «старого» для разработчиков?
3 Новая аппаратная платформа
5 Общее ядро с Windows
6 Общее ядро ЭТО ОЗНАЧАЕТ такие компоненты ОС, как ядро, сеть, поддержка графики, файловая система и мультимедиа одинаковые на Windows 8 и Windows Phone 8 производители устройств работают с одной и той же моделью драйверов для обеих платформа Windows Phone получает поддержку многоядерности и других аппаратных возможностей, которые были у Windows уже давно возможности расширения платформы Windows Phone в будущем гораздо выше ЭТО НЕ ОЗНАЧАЕТ разработчики Windows Phone 8 и Windows 8 приложений использую один и тот же API
7 Разработка под 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++ компоненты
8 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 …
9 Появилось много нового 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
10 В дополнение к WinPRT, у вас есть доступ к некоторым Win32 API Winsock для низкоуровневой работы с сетью Camera API для приложения на C++ COM API – CoInitializeEx, CoTaskMemAlloc, CoTaskMemFree, CreateFile2, ReadFile, WriteFile, HeapAlloc, CreateMutexExW, WaitForSingleObjectW … В основном полезно С++ разработчикам Можно вызывать из управляемого кода, сделав обёртку Win32 и COM API
11 Что нового, что «старого» для разработчиков?
12 Карты NAVTEQ-овские векторные карты Есть возможность загрузки в оффлайне Доступны разработчику по умолчанию Построение пути Для совместимости доступен Bing SDK Четыре картографических модели
13 Геолокация Новый API по работе с геолокацией похож на Windows 8 API API геолокации Windows Phont 7.1 продолжает работать Фоновая работа приложений по работе с геолокациией продолжают исполняться, когда пользователь выходит из приложения позволяют реализовать сценарии трекеров или навигатора
14 Новые тайлы новых размеров Три типа тайлов Flip – переворачивается Iconic – как Outlook Cycle – как фотоальбом
15 Работа с экраном блокировки Приложение может быть зарегистрировано, как предоставляющее экрану блокировки: Детальный статус (текст) Статус (иконка и цифра) Фоновый рисунок
16 Регистрация протокола и расширения файла Приложение может зарегистрироваться как обработчик файлов с определённым расширением автоматически запустит приложение при открытии из письма, браузера, SharePoint или другого приложения Приложение может зарегистрироваться как обработчик определённого протокола Автоматически запустится, когда другое приложение откроет специальный URL stasp://ruteched?track=wph
17 Покупки внутри приложений Дополнительный способ монетизации «Модная» модель «freemeum» Поддерживается два типа покупок: Durables – покупка раз и навсегда, например, уровни игр Consumables – потребляемая покупка, например, внутриригровые деньги
18 Корпоративная разработка Позволяет загрузить приложение минуя Windows Phone Store Компания разрабатывает приложение Получает специальный сертификат Разворачивает сертификат на устройства Тем или иным образом разворачивает приложение на устройстве Управляет устройствами и/или отзывает сертификаты
19 Company Hub
20 Голосовые сервисы Возможность взаимодействия пользователя с вашим приложением голосом голосовые команды – нажатие центральной кнопки и команда для вашего приложения распознавание голоса и API чтения позволяет интегрировать голосовые сервисы в приложение
21 Бумажник Кредитные и дебитовые карты Карты лояльности и членские карты Доступ к сохранённым приложениям Поддержка технологии оплаты по NFC
22 Камера и фотографии Линзы Возможность расширять функционал камеры через специальный API Возможность получить превью картинки Новые возможности расширения фотохаба Автозагрузка фото в фоне Расширенное API взаимодействия с камерой
23 VoIP и видео чат Входящий VoIP работает как и обычный звонок Интегрируется со встроенными телефонными возможностями Работает в фоне Доступно всем разработчикам
24 Bluetooth и NFC Bluetooth API App-to-app App-to-device Proximity API App-to-app с использованием Bluetooth Соединение Wi-Fi, Bluetooth или Wi-Fi Direct между вашим приложением и им же запущенном на устройстве рядом Пересылка данных между устройствами с использованием NFC. Взаимодействие с NFC тагами
25 Сетевая работа Новый API работы с сетью Windows.Networking Windows Phone Runtime API Входящие сокеты System.Net.Sockets и Windows.Networking.Sockets Приложение может слушать входящие соединения IPv6 Поддержка Winsock API Облегчает портирование
26 Чтение с SD карты Приложение может читать файлы с карты Можно устанавливать приложения с карты Поддержка MicroSD
27 Собственный набор контактов Собственный набор контактов, видимый в хабе люди Предоставляется API для работы с контактами Расширенные свойства у контактов API для реализации синхронизации с вашим облачным сервисом хранения
28 Панель симуляции
29 Снимок экрана на реальном устройстве Новая возможность Windows Phone 8 Срабатывает по одновременному нажатию кнопки Windows и питания
30 Совместимость с Windows Phone 7.1 приложениями
31 В целом, платформа 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 прило жения
32 Используется специальный режим, чтобы 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 прило жения без перекомпиляции
33 При конвертации 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
34 Пример несовместимостей на уровне кода Код работающий по разному при сборке для 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
35 Пример несовместимостей на бинарном уровне 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
36 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.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.