windows phone 7 with silverlight

Post on 15-Apr-2017

537 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Windows Phone 7

Kris AthiTechnologistCM Group ltd

Targeting Windows Phone 7 with Silverlight

@lookitskriskrisa@contentmaster.com

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 krisa@contentmaster.com

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.

top related