Upload
kris-athi
View
537
Download
0
Embed Size (px)
Citation preview
Windows Phone 7
Agenda Platform Overview Application Architecture If we have time
Connected Services OS Integration Input Output
Quick Platform Overview
Three Red Threads Relevant – your people, your
location Personal – your day, your way
Connected – your stuff, your peace of mind
Hardware PlatformCapacitive touch4 or more contact points
SensorsA-GPS, Accelerometer, Compass, Light, Proximity
Camera5 mega pixels or more
MultimediaCommon detailed specs, Codec acceleration
Memory256MB RAM or more, 8GB Flash or more
GPUDirectX 9 acceleration
CPUARMv7 Cortex/Scorpion or better
800
(480
)
480 (320)
Hardware buttons | Back, Start, Search
The Platform
CLOUDSCREEN
Notifications
Location Identity Feeds
MapsSocial
App Deployment
Cloud Services
Phone EmulatorSamples DocumentationGuides Community
Packaging and Verification Tools
Tools
Registration
Validation
Certification
Publishing
Marketplace
MO and CC Billing
Business Intelligence
Update Management
Portal Services
Sensors Media DataXbox LIVE Notifications
.NET Framework managed code sandbox
LocationPhone
Runtime
Building Applications
Modern application UI frameworkRapid creation of visually stunning appsMetro-themed UI controls500,000 developers spanning Windows and
web
Silverlight Recipe Start with Silverlight 3 Take away a few bits and pieces
Eg DLR, HTML DOM Bridge, Sockets, JS Programmability
Add in some extra bits Eg SIP, Manipulations, Launchers and other phone
specific features And…
Access to XNA libraries
Development Tools
Expres
sBle
nd
for
Phone
Emulator
Windows Phone Developer Tools
(WPDT)
Visual Studio Debug Silverlight & XNA Project Types
- Emulator - Device Developer Registration Tool XAP Deployment ToolRT
W
Application MarketPlace
DEEPEN CUSTOMER CONNECTIONTrial APIBroad business model & billing supportPush Notification, update & glance able tiles
EASILY MANAGE YOUR BUSINESSSingle self-service portalTransparent policies, open to 3rd party services
INCREASED DISCOVERABILITYSingle easy-to-find marketplace on device & PCReach all WP7 consumers with worldwide distributionLocalized merchandising to promote the best apps Unlimited Paid Apps
£67 + VAT – Free on DreamSpark
5 Free Apps 70% Revenue Share Credit Card & Mobile Operator Billing Device Unlock Support for Trial Mode
Details
Application Structure
NavigationPhone apps are navigation apps
System.Windows.Application
Microsoft.Phone.Controls.PhoneApplicationFrame
RootVisual
Microsoft.Phone.Controls.PhoneApplicationPage
Page2
Microsoft.Phone.Controls.PhoneApplicationPage
Page1
Microsoft.Phone.Controls.PhoneApplicationPage
MainPageNavigationServi
ce
MyApp
Navigation using the NavigationService
demo
Design Patterns A few popular design patterns
Model View Controller (MVC) Model View Presenter (MVP) Model-View View Model (MVVM)
Design Patterns 3 Parts
Model – Busisness rules, data access, model classes etc View – The User Interface – PhoneApplicationPage ViewModel – acts as the “glue” between the Models
and the Views
View ViewModel Model
Presentation Layer Business Domain
Why MVVM?
Design-Time Data
Separation of Concerns
More Testable Code
Better Code Re-use
Simplified Maintenance
What is Commanding?Commanding allows "commands" to be routed from a View to a ViewModel:
Button Click
Commanding
View.xaml
View.cs ViewModel
Bopp App
demo
Thank you I really hope this session has not only made you aware of
Silverlight, but also how to architect an application in a more real world scenario
Comments? Questions? Feedback? Please do talk to me!
@LookItsKris [email protected]
Links WP7 Training Kit
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ca23285f-bab8-47fa-b364-11553e076a9a
Metro PDF Book go.microsoft.com/fwlink/?LinkID=189338
Phone StaticResource list http://msdn.microsoft.com/en-us/library/ff769552(v=VS
.92).aspx
MVVM Light Toolkit http://mvvmlight.codeplex.com/
Connected Services
Connected Applications
REST WebClient HttpWebRequest
WCF (BasicHttpBinding) No custom bindings No sockets
XboxLive
MappingLocation Service
NotificationServices
Your Hosted Service
Windows Azure
SearchExisting Hosted
Service
Push Notifications
Raw Live Tile Toast
Push Notification Service
POST
MicrosoftPush
NotificationServices
My CloudApplicatio
n
Push Client
Push Library
My Phone Applicatio
n
Push Notification
Pass URI
Push NotificationPush Notification
Notification Channel1
2
3
4
Push Notifications
demo
OS Integration
Launchers and Choosers Launchers let you fire and forget to as OS app
SMS, email, web browser, maps, dialer, search etc Choosers act like an open file dialog
Launches external OS experience for letting users choose the data they want
Picture, contact, camera etc Data gets returned in the EventArgs object
Launchers & Choosers EmailComposeTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask MediaPlayerLauncher PhoneCallTask SearchTask SmsComposeTask WebBrowserTask
CameraCaptureTask EmailAddressChooserTask PhoneNumberChooserTask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask
Data
returned Sandbox
Launchers and Choosers
demo
Input
Input
Touch
Soft Input PanelApplicat
ion Bar HardwareButtons
Accelerometer
Input Scopes SIP Pop Up Change the layout to be more relevant
Accelerometer
Output
Video + Vibration Play Video
Standard MediaElement Class
Vibration VibrateController Class
Media Media Support
Hardware Decode MediaStreamSource PlayReady DRM
MediaElement Limits One MediaElement only No VideoBrush
XNA Sound Effect API Supports polyphonic, looping WAV data
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows 7 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.