windows phone 7 with silverlight

38
Windows Phone 7

Upload: kris-athi

Post on 15-Apr-2017

537 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Windows Phone 7 With Silverlight

Windows Phone 7

Page 2: Windows Phone 7 With Silverlight

Kris AthiTechnologistCM Group ltd

Targeting Windows Phone 7 with Silverlight

@[email protected]

Page 3: Windows Phone 7 With Silverlight

Agenda Platform Overview Application Architecture If we have time

Connected Services OS Integration Input Output

Page 4: Windows Phone 7 With Silverlight

Quick Platform Overview

Page 5: Windows Phone 7 With Silverlight

Three Red Threads Relevant – your people, your

location Personal – your day, your way

Connected – your stuff, your peace of mind

Page 6: Windows Phone 7 With Silverlight

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

Page 7: Windows Phone 7 With Silverlight

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

Page 8: Windows Phone 7 With Silverlight

Building Applications

Modern application UI frameworkRapid creation of visually stunning appsMetro-themed UI controls500,000 developers spanning Windows and

web

Page 9: Windows Phone 7 With Silverlight

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

Page 10: Windows Phone 7 With Silverlight

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

Page 11: Windows Phone 7 With Silverlight

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

Page 12: Windows Phone 7 With Silverlight

Application Structure

Page 13: Windows Phone 7 With Silverlight

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

Page 14: Windows Phone 7 With Silverlight

Navigation using the NavigationService

demo

Page 15: Windows Phone 7 With Silverlight

Design Patterns A few popular design patterns

Model View Controller (MVC) Model View Presenter (MVP) Model-View View Model (MVVM)

Page 16: Windows Phone 7 With Silverlight

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

Page 17: Windows Phone 7 With Silverlight

Why MVVM?

Design-Time Data

Separation of Concerns

More Testable Code

Better Code Re-use

Simplified Maintenance

Page 18: Windows Phone 7 With Silverlight

What is Commanding?Commanding allows "commands" to be routed from a View to a ViewModel:

Button Click

Commanding

View.xaml

View.cs ViewModel

Page 19: Windows Phone 7 With Silverlight

Bopp App

demo

Page 20: Windows Phone 7 With Silverlight

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]

Page 21: Windows Phone 7 With Silverlight

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/

Page 22: Windows Phone 7 With Silverlight

Connected Services

Page 23: Windows Phone 7 With Silverlight

Connected Applications

REST WebClient HttpWebRequest

WCF (BasicHttpBinding) No custom bindings No sockets

XboxLive

MappingLocation Service

NotificationServices

Your Hosted Service

Windows Azure

SearchExisting Hosted

Service

Page 24: Windows Phone 7 With Silverlight

Push Notifications

Raw Live Tile Toast

Page 25: Windows Phone 7 With Silverlight

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

Page 26: Windows Phone 7 With Silverlight

Push Notifications

demo

Page 27: Windows Phone 7 With Silverlight

OS Integration

Page 28: Windows Phone 7 With Silverlight

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

Page 29: Windows Phone 7 With Silverlight

Launchers & Choosers EmailComposeTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask MediaPlayerLauncher PhoneCallTask SearchTask SmsComposeTask WebBrowserTask

CameraCaptureTask EmailAddressChooserTask PhoneNumberChooserTask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask

Data

returned Sandbox

Page 30: Windows Phone 7 With Silverlight

Launchers and Choosers

demo

Page 31: Windows Phone 7 With Silverlight

Input

Page 32: Windows Phone 7 With Silverlight

Input

Touch

Soft Input PanelApplicat

ion Bar HardwareButtons

Accelerometer

Page 33: Windows Phone 7 With Silverlight

Input Scopes SIP Pop Up Change the layout to be more relevant

Page 34: Windows Phone 7 With Silverlight

Accelerometer

Page 35: Windows Phone 7 With Silverlight

Output

Page 36: Windows Phone 7 With Silverlight

Video + Vibration Play Video

Standard MediaElement Class

Vibration VibrateController Class

Page 37: Windows Phone 7 With Silverlight

Media Media Support

Hardware Decode MediaStreamSource PlayReady DRM

MediaElement Limits One MediaElement only No VideoBrush

XNA Sound Effect API Supports polyphonic, looping WAV data

Page 38: Windows Phone 7 With Silverlight

© 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.