370 likes | 632 Views
Please view slides in show mode (some slides contain animations). Windows Phone 7 Series Architecture Deep Dive . Istvan Cseri Distinguished Engineer Windows Phone istvanc@microsoft.com. Changing our Game A new approach with WP7. DESIGN: END USER COMES FIRST.
E N D
Please view slides in show mode (some slides contain animations) Windows Phone 7 Series Architecture Deep Dive Istvan Cseri Distinguished Engineer Windows Phone istvanc@microsoft.com
Changing our GameA new approach with WP7 DESIGN: END USER COMES FIRST PLATFORM: RICHER, DEEPER, EASIER APPS HARDWARE: FASTER TO MARKET, LESS HEAVY LIFTING
Session Outline Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Hardware Foundation Capacitive touch 4 or more contact points 800 or 480 Sensors A-GPS, Accelerometer, Compass, Light, Proximity 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 ARMv7 Cortex/Scorpion or better Hardware buttons | Back, Start, Search 480 or 320
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Software Architecture Applications Your App UI and logic Frameworks Silverlight XNA HTML/JavaScript CLR App Model UI Model Cloud Integration 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 A-GPS Accelerometer Compass Light Proximity Media Wi-Fi Radio Graphics Hardware Foundation
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
App Model: Concepts Application Uniquely identifiable, licensable and serviceable software product packaged as a XAP Application Deployment Steps include Ingestion, Certification and Signing Windows Phone Marketplace Windows Phone Marketplace Application license Crypto-verifiable object issued to grant rights to an application
App Lifecycle + • Phone only installs .xap packages signed by marketplace Windows Phone Marketplace • Phone handles all aspects of .xap installation based on the manifest • Individual apps cannot make arbitrary changes to the phone during installation • Users control install, update and uninstall, while the marketplace controls revocation • Individual apps do not control their own lifecycle on the phone
App Isolation and Execution Applications and licenses Application install folders Running applications • Phone only runs apps that have a valid marketplace license • Apps are sandboxed into separate security accounts while installed and at runtime • Resource allocation policy keeps the foreground app responsive • Resource management policy ensures the user can always use Start to run a new app
App Hosting and Runtime App Domain Silverlight Application Object XNA Game Object Frameworks HTML/JavaScript Silverlight XNA CLR System provides host process for app code App Model Host App Model UI Model Cloud Integration Xbox LIVE Bing Location Push notifications Windows Live ID App management Licensing Chamber isolation Software updates Shell frame Session manager Direct3D Compositor Location Push Notifications Sandbox enforced for host process based on declared capabilities Kernel Hardware BSP A-GPS Accelerometer Compass Light Proximity Media Wi-Fi Radio Graphics Security Networking Storage A-GPS Compass Hardware Foundation • Each app executes inside an isolated, least-privileged host process • All app code is transparent and CLS-verifiable, mitigating impact of common attacks • Frameworks enable app code to interact with app model, UI model, phone functionality
Windows Phone 7 Series Frameworks At-a-glance Common Base Class Library Device & Phone Capabilities Silverlight Presentation & Media Library Cloud Services Integration Windows Phone 7 Series Fx XNA Game Loop Windows Phone App & UI Model XNA Media Library Windows Phone UI controls
Windows Phone 7 SeriesFrameworks Details Windows Phone Frameworks Camera Device Integration Launchers & Choosers Windows Phone Controls PhoneApplicationFrame PhoneApplicationPage PushNotification WebBrowserControl Sensors Silverlight Presentation and Media XNA Frameworks for Games Controls Drawing IsolatedStorage Drawing GamerServices Shapes Markup Media Navigation Media Graphics Audio Content Input Application Object Common Base Class Library Runtime Resources Globalization Reflection Location Text IO Net Diagnostics Security Threading Collections ComponentModel Configuration ServiceModel Linq
3 Screens and Cloud Cloud Windows Desktop Xbox Windows Phone XNA Frameworks XNA Frameworks XNA Frameworks Location Service Silverlight Presentation and Media Silverlight Presentation and Media Windows Phone 7 Series Frameworks Notification Service Common Base Class Library
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
UI Model: Concepts Application UI and logic for functionality exposed through pages Page A single screen of user interaction elements Session An ordered workflow of user interactions spanning applications
UI Model: Familiar Web Concepts Phone application Provides UI represented as XAML pages connected into cross-app flows by URI’s Web application Provide media represented as HTTP resources linked by URL’s Shell frame Requests pages, renders UI, and handles navigation across apps Web browser Requests HTTP resources, renders them, and handles navigation across sites Sessions and back stack Groups together sequences of pages corresponding to a user’s activity across apps History and tabs Groups together sequences of HTTP resources corresponding to a user’s activity across sites
UI Navigation: Example Pictures Take a look at recent photos People Look up the status for a contact Active sessions Pictures Continue looking at recent photos
UI and State Management: Concepts Page UI Describes the visual appearance of a page Retained in shell frame to support resuming paused sessions Discarded while the session is paused Page State Contains data that describes an instance of a page, analogous to browser cookie
UI and State Management: Example Running Applications Dehydrated and rehydrated on demand from saved state Apps restarted and UI rehydrated as the user navigates thru the phone Shell Frame Monitors resource usage to decide when to pause sessions
Graphics Composition Start Experience System Tray Direct3D Surface AppPage Notification Volume SIP Incoming Call App Bar • Shell frame composes all UI into a single screen • Central page management enables cross app UI transitions and other effects • System wide Z order enforcement emphasizes core phone functionality
Graphics Architecture App UI and logic Silverlight XNA HTML/JavaScript Shell frame Compositor Direct3D Window manager Graphics driver
Cloud Integration Services App Model UI Model Software Architecture Hardware Foundation
Cloud Integration: Concepts Windows Phone Your Web Service Custom Web Service Windows Phone Application Existing Web Services Notification Service Location Service Microsoft Services Frameworks Cloud integration client services • Built-in user experiences and APIs integrated with key Microsoft services • Familiar API frameworks for interacting with existing Web 2.0 services • Rich support for incorporating custom web services into app-specific experiences
Location Service Windows Phone Existing Web Services Location Service Microsoft Services System.Device.Location Location client service • Built-in support for consuming GPS, AGPS and Wi-Fi- based location data • Managed APIs for location-based interaction • Microsoft managed Wi-Fi access point data as part of Windows Phone Services
Location Client Architecture Microsoft Services Windows Phone Location Service App UI and logic Location client service Security A-GPS Wi-Fi Radio
Push Notification Service Windows Phone Your Web Service Custom Web Service Existing Web Services Notification Service Microsoft Services Microsoft.Phone.Notification Push client service • Built-in support for efficient, battery-aware mobile push notifications • Managed APIs for notification-driven interaction with existing Web 2.0 sites
Push Client Architecture Microsoft Services Microsoft Push Notification Service App UI and logic Microsoft.Phone.Notification Live Tiles service Download Manager Push client service Networking Wi-Fi Radio
XBOX Live Windows Phone Your Web Service Game specific web requests Custom Web Service Microsoft Services Authenticated Xbox LIVE calls XNA Game Foundation • Gamer Services APIs for Xbox LIVE Profiles, Achievements, and Leaderboards • Game Foundation handles auth, caching, & partial connectivity for Xbox LIVE • Third party token allows secure integration with game-specific services
Gamer Services Architecture Microsoft Services Xbox LIVE App UI and logic XNA Gamer Services APIs Windows Live ID Game Foundation Download Manager Live ID client service Networking Storage
A differentkind of phone So you can build integrated experiences& profit from it Designed for life in motion
Call to Action Download the Windows Phone Developer Tools http://developer.windowsphone.com Create awesome apps and games!