9. Железо Capacitive touch 4 or more contact points 800 Sensors A-GPS, Accelerometer, Compass, Light, Proximity, Gyro Camera 5 mega pixels or more Multimedia Common detailed specs, Codec acceleration Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM7x30, MSM8x55 800Mhz or higher Hardware buttons | Back, Start, Search 480
11. Архитектура подсистемы приложений Applications Your App UI and logic Frameworks HTML5/JavaScript Silverlight and XNA User data Structured data CLR App Model UI Model Cloud Integration App management Licensing Chamber isolation Software updatesData sharing Shell frame Session manager Direct3D Compositor Xbox LIVE Bing Location Push notifications Windows Live ID Kernel Hardware BSP Security Networking Storage A-GPS Accelerometer Gyro Compass Light Proximity Media Wi-Fi Radio Graphics Hardware Foundation
12. Платформа приложений - Framework Windows Phone Frameworks Launchers & Choosers Windows Phone Controls Camera Device Integration MultiTasking Structured Data PhoneApplicationPage PushNotification WebBrowserControl Sensors PhoneApplicationFrame Silverlight Presentation and Media XNA Frameworks for Games Controls Drawing IsolatedStorage Drawing GamerServices Silverlight Integration Silverlight 4.0 Media Graphics Navigation Shapes Markup Audio Media Content Input Application Object Common Base Class Library Globalization Reflection IO Resources Text Location Runtime Diagnostics Net Sockets Configuration Collections ComponentModel Security Threading ServiceModel Linq
15. Модель среды исполнения App Domain XNA Game Object Silverlight Application Object AGENT Frameworks Silverlight XNA HTML5/JavaScript Хост-процесс для приложений CLR App Model Host App Model UI Model Cloud Integration «Песочница» для каждого приложения A-GPS Accelerometer Gyro Compass Light Proximity Media Wi-Fi Radio Graphics Xbox LIVE Bing Location Push notifications Windows Live ID App management Licensing Chamber isolation Software updates Shell frame Session manager Direct3D Compositor Каждое приложение работает в изолированной среде Kernel Hardware BSP Security Networking Storage Весь код – managed, что позволяет легко верифицировать – первый заслон для аттак Hardware Foundation Framework отвечает за взаимодействияс app-моделью, UI-моделью и «телефоном»
17. Контентно-ориентированная модель: проблемы Your Web Service Custom Web Service Existing Web Services Location Service Microsoft Services phone storage hardware Notification Service
18. Как это работает app storage Web Service sync agent power monitor resource manager task scheduler connection manager
26. Подходы к многозадачности «Честная» и прожорливая Работаем, пока можем Система сложных правил выгрузки приложений Desktop, Windows Mobile, Android Мнимая и экономная Приложение выгружается при деактивации UI Ключевой фактор – сохранение состояния Ранние iPhone, Windows Phone 7
27. Подходы к многозадачности Умная Похожа на мнимую Фоновые агенты iPhone 4, Windows Phone codename “Mango” Возможны уведомления из агентов в приложения
43. Сохраняем UX удобным Плавность 60 кадров в секунду Качественное воспроизведение сложного медиа Hardware-акселерация Минимизация деградации производительности со временем Изоляция и меры по экономии батареи Управление состоянием Память и процессор
44. Важно: система знает, как устроен UI Страница Визуальное состояние Данные страницы и приложения, навигация Состояние данных Навигационный стек, данные страницы и приложения сохраняются для быстрого восстановления
45. Потоковая модель на десктопах layout input rasterize binding animations OS interop User Interface Thread parsing networking dispatch dispatch Background Thread
46. Текущая потоковая модель Windows Phone composite onto back buffer primitive animations Compositor Thread touch rasterize binding OS interop layout User Interface Thread parsing networking dispatch dispatch Background Thread
47. Windows Phone codename “Mango” touch composite onto back buffer primitive animations Compositor Thread rasterize binding OS interop layout User Interface Thread parsing networking dispatch dispatch Background Thread
50. Сохраняем UX удобным: память вWP7 Навигационный стек Файловый кэш Периодика Приложения Память Рекомендуется 90MB OS foreground idle Минимум памяти: 256MB
51. Сохраняем UX удобным: память вMango Приложения Навигационный стек Файловый кэш Периодика Приложения Память 90MB минимум OS spare foreground выгружаютсяпо запросу Минимум памяти: 256MB
54. Достигаем баланса через агентов UI instance abstract class BackgroundAgent { virtual void Invoke(uri, parameters) virtual void OnCancel() void NotifyComplete() void Abort() } Затраты 10% CPU RAM: 5MB Пониженное энергопотребление Затраты 90% CPU RAM: 90MB Энергоемки agent instance app logic app logic Одна «песочница» Отдельные хост-процессы
55. Аудио-агенты audio audio audio Zune media service Zune media service Zune media service reserved Память OS foreground audio
56. on AC Generic-агенты periodic periodic audio audio audio Zune media service Zune media service Zune media service Resource manager Resource manager Память on AC on AC OS foreground periodic periodic audio
57. «Дремлющие» приложения on AC periodic audio Zune media service Resource manager Память on AC on AC audio OS foreground periodic periodic dormant dormant
58. Агенты передачи данных Background transfers Background transfers Background transfers Resource manager memory Background transfers OS foreground
71. Дмитрий АртёмовТелемост со Скоттом Гатри – Вице-президентом по платформе разработки Microsoft и одним основателей .NET 26-27 мая 2011 года, Подмосковье www.msdevcon.ru