WINDOWS PHONE 7 DEVELOPER GUIDE A guide to 3 screens and the cloud Scott Densmore Sr.

Download Report

Transcript WINDOWS PHONE 7 DEVELOPER GUIDE A guide to 3 screens and the cloud Scott Densmore Sr.

WINDOWS PHONE 7 DEVELOPER
GUIDE
A guide to 3 screens and the cloud
Scott Densmore
Sr. Software Development Engineer
Microsoft patterns & practices
ABOUT YOU (AN ASSUMPTION)
• You…
•
•
•
•
•
are a developer
know C#
are building applications for Windows Phone 7
are building applications for other mobile platforms
want to connect your mobile application to the cloud
GOALS FOR THIS SESSION
• Intro Windows Phone 7
• How to build applications for Windows Phone 7
• Simple examples
• How to connect your Windows Phone 7
application to the cloud
• TailSpin survey application connected to Windows
Azure
WINDOWS PHONE 7
METRO
METRO
Metro Principals
•
•
•
•
•
Clean, light, open, fast
Celebrate typography
Alive & in motion
Content not chrome
Authentically digital
WHAT ARE YOU BUILDING?
Silverlight vs XNA
WHAT ARE YOU BUILDING?
XNA
• Performance is impressive, especially in 3D
• Hardware based graphics acceleration
• There are some very interesting input options
• You can use all the hardware and sensors in
your Windows Phone games
• Potential for Xbox Live integration
• Support for Avatars and Achievements
• Support for in-game advertising
• Viable alternative to charging for your code
WHAT ARE YOU BUILDING?
Considerations
• Do not try to adapt an existing UI design directly
to the phone
• Design for both portrait and landscape
• Place menus and other options at the bottom so
the users hand does not obstruct the rest of the
content
• Provide feedback to actions
• Set the InputScope for text controls
• Follow the Windows Phone 7 Design Guidelines
DEMO
What are you building?
CONNECTIVITY
CONNECTIVITY
Considerations
• Device is occasionally connected
• Signal can switch between Wi-Fi to GPRS
(General Packet Radio Service)
• Have an offline experience
DEMO
Connectivity
SHARED ENVIRONMENT
SHARED ENVIRONMENT
Considerations
• Minimize device resource usage
• e.g. Only enable GPS when you need it
• Use async programming techniques
• Reactive Extensions
•
•
•
•
Optimize memory usage
Maximize GPU usage
Do not use all of the storage for your application
Mango – Multi-tasking
STORAGE
STORAGE
• Isolated storage is used to
store data
• 256 MB of memory and to 8
GB of flash
• Serializable collections is a
good way to store data
• Third party databases are
available
• Mango – includes SQL CE
STORAGE
Considerations
• Use the DeviceExtendedProperties to check
for memory installed and avialble
• Clean up resources that are no longer needed
• Consider using a cache to improve performance
• Compress data or use data formats that are
compact (JSON / Binary)
SECURITY
SECUIRTY
Considerations
• Use HTTPS when connecting to services
• Encrypt data that you store on the phone
• User HTTPS when communicating with the Push
Notification Service
• Do not store sensitive data and keys on the
device
• Mango – DPAPI
INTERRUPTIONS
INTERRUPTIONS
Considerations
• Many events can cause interruptions on the
phone
• Camera task
• Email task
• A phone call
• Handle the events exposed by the operating
system to save state of the application
(Tombstoning)
DEMO
Tombstoning
Why Phone + Cloud?
TAILSPIN
BUILDING THE CLIENT
BUILDING THE CLIENT
Overview
BUILDING THE CLIENT
MVVM
DEMO
Building the Client
CONNECTING TO THE CLOUD
Why Phone + Cloud?
• The cloud levels the
playing field
• The cloud provides a
larger pool of resources
from which to pull
• The cloud provides a way
to reach across device
platforms
CONNECTING TO THE CLOUD
Services
• HTTP-based, request/response
• Framework choices (WCF, OData, WebRequest,
etc.)
• Wire format choices (SOAP, JSON, POX, etc.)
CONNECTING TO THE CLOUD
TailSpin Services
CONNECTING TO THE CLOUD
Push Notifications
Cloud Service
Windows Phone 7
MPNS
CONNECTING TO THE CLOUD
TailSpin Push Notifications
DEMO
Connecting to the Cloud
RESOURCES
• WP7 Book
• http://wp7guide.codeplex.com
• Windows Phone 7
• http://www.windowsphone.com
• Me
• [email protected]
• @scottdensmore
• http://scottdensmore.typepad.com
QUESTIONS?
After the session please fulfil the questionnaire.
Questionnaires will be sent to you by e-mail and will be available in the profile section of the
NT Conference website www.ntk.si .
Thank you!