340 likes | 509 Views
Required Slide. SESSION CODE: WPH311. Developing Mobile Code Today that will run on Windows Phone 7 Tomorrow. Khalid Siddiqui Senior Architect, Mobility Center of Excellence Microsoft Corporation. Session Objectives. Learn techniques to get maximum reuse out of your code
E N D
Required Slide SESSION CODE: WPH311 Developing Mobile Code Today that will run on Windows Phone 7 Tomorrow Khalid Siddiqui Senior Architect, Mobility Center of Excellence Microsoft Corporation
Session Objectives • Learn techniques to get maximum reuse out of your code • Learn how to build occasionally connected applications today that will work tomorrow Key Takeaway The session will help you to plan for coexistence between the two windows phone platforms
Elements of the Application Platform Tools Runtime – On “Screen” Phone Emulator Sensors Media Data Location Samples Documentation Phone Xbox LIVE Notifications Guides Community .NET Framework managed code sandbox Packaging and Verification Tools SCREEN CLOUD Portal Services Cloud Services Notifications App Deployment Registration Marketplace Validation MO and CC Billing Location Identity Feeds Certification Business Intelligence Social Maps Publishing Update Management
Development Environment Up to 5 installs, finding the right versions for each component One Install containing a tuned set Developer tools
Do I have these WM6.5 Features? • Data • SQL CE • File system Access • Communication • RAPI • IPC • Sockets • Application Access to Bluetooth • Code Access • Access to Privileged API’s • Native Code • Device Management • CAB Installation • Others • Flash Player • WinForms • Widgets
Why were these changes made? • User Experience • New Development Platform • Sandbox Model • Foundation for “Three Screen Strategy” • Shift to Cloud based services • Targeting a larger audience
Shifting Development Strategies Classic Development • Forward Looking Web + Services Application + Services Application – Oriented around one device (1 Screen) Oriented around multiple devices (x Screens)
Application Lifecycle Considerations • Planning • Development • Presentation Layer • Data Services • Deployment • Installation • Updates • Provisioning • Management
Presentation Layer • Follow Silverlight Roadmap • WM6.5 Controls vs. Silverlight Controls • Use minimal code on pages • Use Expression Blend Sketch Flow for UI creation
Model View Controller Pattern • Model • Objects representing data • Corresponding Domain logic • Business rules and validation • View – User Interface • Controller • Communication from the user • Application flow • Application specific logic Also see MVVM pattern
Data Synchronization • Sync Framework • Hosted Push Notifications • Save Application state frequently • Pause Event • Obscured Event • Avoid Merge Replication or RDA
Sync Framework • Provider based framework for the sync across various source and depots. • All central based sync • No sync run on the device, cloud takes care of all data differences • With Nov Power Pack a SQL Azure provider was added as CTP • Will be supported on WP6.5 • Only supported Sync technology in WP7 as of today • Open Data Protocol (oDATA) • Useful Link: http://msdn.com/sync
Offline / Cache Mode Apps End to End Sync smarts on server, not on client Easy to develop the sync endpoints Simple sync protocol (OData-Sync) Windows Azure Sync FX Sync Endpoints Other Platforms Store Sync Auth / Mgmt / Bus Logic Richer UX & Capabilities Minimal client & store requirements Reach Sync Sync Sync Client API support . Windows Silverlight HTML
Push Notification • WP7Application Platform provides a set of managed API’s • Allow developers to directly connect applications to on-line services • API’s support a push model of notifications instead of polling
Push Notifications Tile Push client Toast Open push channel Data to toast Data to tile Return URI Data to App App Send URI to server Send push data to client Push service Your service Event Send push data to URI
Deployment • WP 7 requires Marketplace • WP 6.x has Marketplace available • Can your application move to Marketplace?
Industry Practices • Plan for Porting Applications to WP7 • Managed Code only • Persist data in preparation for application pause • Follow Silverlight and XNA roadmap • Use Marketplace, if feasible • Avoid file system access or using sockets • Use Cloud based Services • Notifications • Data Storage • Sync Framework • Let application query for updates • Use Model View Controller pattern, as needed • Get familiar with Azure based applications
Platform Decision – WP 6.5 or WP 7 • Is there a problem in exposing your application to Marketplace for Distribution? • Is encryption required? • Is managed device a requirement? • Any special device requirements like ruggedized device?
Required Slide Speakers, please list the Breakout Sessions, Interactive Sessions, Labs and Demo Stations that are related to your session. Related Content Breakout Sessions: WPH203 - Overview of the Windows Phone 7 Application Platform; WPH306 - Developing Occasionally Connected Applications for Windows Phone 7 Interactive Sessions: WPH01-INT - Prepare for Windows Phone 7 Development! Coding practices you should start using now in Windows Mobile
Windows Phone Resources Questions? Demos? The Latest phones? Visit the Windows Phone Technical Learning Center for demos and more… • Business IT Resources www.windowsphone.com/business • Developer Resources developer.windowsphone.com • Experience Windows Phone 7 on-line and get a backstage pass www.windowsphone7.com
Win a Windows Phone Contest Hat Contest* How do you enter? Enter by visiting the Windows Phone booth, accepting a free Windows Phone branded hat, and wearing that hat during the Event. How am I selected? Each day of the event, a Windows Phone representative will randomly select up to 5 people who are observed wearing their Windows Phone branded hat Session Contest* During each Windows Phone session the moderator will post a question. The first person to correctly answer the question and called on by the moderator will potentially win Questions? Go to the WPH Information Counter at the TLC * Restrictions apply please see contest rules for eligibility and restrictions. Contest rules are displayed in the Technical Learning Center at the WPH info counter.
Related Windows Phone Content – Breakout Sessions Mon &Tue Monday WPH301WP7: Deploy Microsoft Forefront Unified Access Gateway for Access Control to SharePoint, Exchange and more. WPH202 Deploying Windows Phone 7 with Exchange Server and SharePoint Server Tuesday WPH203 Overview of the Windows Phone 7 Application Platform WPH313 Windows Phone 7 Architecture Deep Dive WPH304 An In-Depth view at Building Applications for WP7 with Silverlight (Part 1) WPH305 An In-Depth view at Building Applications for WP7 with Silverlight (Part 2) WPH306 Developing Occasionally Connected Applications for Windows Phone 7
Related Windows Phone Content – Breakout Sessions Wed &Thu Wednesday WPH310 Designing and Developing for the Rich Mobile Web WPH311 Developing Mobile Code Today that will run on WP 7 Tomorrow WPH309 Silverlight performance on Windows Phone WPH307 Building Windows Phone Games with XNA WPH308 Building a High Performance 3D Game for Windows Phone Thursday WPH303 Understanding the Windows Phone 7 Development Tools WPH314 Learn Windows Phone 7 Development by Creating a Robotic T-Shirt Cannon WPH312 Understanding Marketplace and Making Money with WP7 Applications
Related Windows Phone Content – Interactive Session & HOL Windows Phone Interactive Sessions Windows Phone 7 Demo Only! Microsoft’s Next Generation Mobile Enterprise Application Platform (MEAP) Windows Phone 7 Application Performance Prepare for Windows Phone 7 Development! Coding practices you should start using now in Windows Mobile Windows Phone Hands On Labs Hello Windows Phone - Building Your first Windows Phone Application Microsoft Silverlight for Windows Phone Microsoft XNA Framework 4.0 for Windows Phones Using Push Notifications and Windows Communication Foundation (WCF) Services
Required Slide Resources Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers • http://microsoft.com/technet • http://microsoft.com/msdn
Required Slide Complete an evaluation on CommNet and enter to win!
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st http://northamerica.msteched.com/registration You can also register at the North America 2011 kiosk located at registrationJoin us in Atlanta next year
© 2010 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. The information herein is for informational purposes only and 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. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.