Windows Phone Apps Development overview

Post on 24-May-2015

138 views 1 download

Tags:

description

Windows Phone Apps Development overview

Transcript of Windows Phone Apps Development overview

Apps Development on Windows Phone

-ByPruthvi.

-Overview-MVVM-Building Windows Phone apps

Agenda

General ConceptSoftware

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Concept

4

DESIGN: END USER COMES FIRST

PLATFORM: RICHER, DEEPER, EASIER APPS

HARDWARE:FASTER TO MARKET, LESS HEAVY LIFTING

The table below provides a summary of each Windows & Windows Phone device type, its operating system, CPU architecture, what applications & games you can buy, install and run, and how you build those apps & games. I’ve also added a last row to clearly show where Microsoft is positioning these devices in the competitive marketplace.Devices Microsoft Surface

(Pro)Microsoft Surface

(RT)Windows Phone 7.5(e.g. Nokia Lumia)

Windows Phone8 / vNext

Operating System Windows 8 Pro Windows RT Windows Phone 7.1 Windows Phone 8.0CPU Architecture Intel/AMD x32 & x64 ARM ARM ARM

Applications you can buy in the official Microsoft Windows App Store

Metro AppsMetro Games

Metro AppsMetro Games

Windows Phone AppsWindows Phone

Games

Windows Phone AppsWindows Phone

Games

Applications you can run

Metro Apps, .NET Apps, native apps and

anything that runs on Windows 7 today

Metro Apps Windows Phone AppsWindows Phone

Games

Anything that runs on Windows Phone 7.5

has been confirmed to run on vNext

Side-load Applications Desktop-only for consumers. Metro apps can be side-loaded in

enterprise

No. Metro apps can be side-loaded in

enterprise

No No. Metro apps can be side-loaded in enterprise via

corporate app hubsRuns Microsoft Office Yes Yes Yes, mobile version Yes, mobile version

Plays Xbox LIVE Games Yes Yes Yes YesDeveloper Platform WinRT, .NET, WPF,

Silverlight, XNA, Java, Native, and everything else used to build apps

for Windows 7 today

WinRT 

.NET + Silverlight 4 for Windows Phone

apps.XNA for Windows

Phone games

WinRT for Windows Phone apps.

Choice of XNA or  Native D3D for Windows Phone

games

Developer Languages C#, VB, C/C++, Java, F#, Ruby, Python,

JavaScript, PHP, Perl, Haskell and any other language you can use

for Windows 7 dev

C#/VB + XAML for Metro Apps.

D3D & C++ for Metro Games

 

C#/VB + XAML for Silverlight apps.

C#/VB.NET + XNA for games

C#/VB + XAML for WP Metro Apps.

C#/VB + XNA or C++ & D3D for Windows Phone

games

Primary Competitors Apple MacBook AirX86/x64 Ultrabooks, Netbooks & Tablets

Apple iPadAndroid Tablets

Blackberry PlaybookKindle Fire

Apple iPhoneAndroid Smartphones

Blackberry devices

Same as WP 7.5

Overview

Two Flavors of Applications

7

High performance game framework

Rapid creation of multi-screen 2D and 3D games

Rich content pipeline Mature, robust, widely

adopted technology spanning Xbox 360, Windows, and Zune

Modern XAML/event-driven application UI framework

Rapid creation of visually stunning apps

Metro-themed UI controls

HTML/JavaScript 500,000 developers

spanning Windows and web

A declarative, markup-based language to define your user experienceThe way to write apps for Windows PhoneAligns with Windows 8

eXtensible ApplicationMarkupLanguage

What is XAML?

MVVM Made Easy

DEV216

MVVM?

Model-View-ViewModelModel = Data ClassView = User InterfaceViewModel (VM)UI binds to this classCommunication from View to VM is via data binding

Simple Case

Examplepublic class StudentData : INotifyPropertyChanged{ string _firstName = null; public string StudentFirstName { get { return _firstName; } set { _firstName = value; OnPropertyChanged("StudentFirstName"); } }

double _gradePointAverage; public double StudentGradePointAverage { get { return _gradePointAverage; }

set { _gradePointAverage = value; OnPropertyChanged("StudentGradePointAverage"); } }}

<TextBox Text="{Binding Path=StudentFirstName}" Grid.Row="1"

Grid.Column="2" VerticalAlignment="Center" />

...<TextBox Text="{Binding Path=StudentGradePointAverage}"

Grid.Row="2" Grid.Column="2"

VerticalAlignment="Center" />

Architecture

Building WP apps

New and Updated Project TemplatesHTML5, Localization Support, Alignment Grid

Project templates

Windows Phone Developer Tools

16

Packaging & Verification Tools

myapp.xap

Windows Phone device

Windows PhoneEmulator

Phone EmulatorSamples DocumentationGuides Community

Packaging and Verification Tools

Tools

Register Your Device

17

Test on a physical deviceRegister your deviceInstall, run, and debug unsigned applicationsUse Zune to register your device

Deployment Process

18

Develop & Debug

Submit& Validate

Certify & Sign

Windows Phone Application Deployment Service

Marketplace

Application Lifecycle Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Application Lifecycle

running

deactivated

DormantTomb

stoned

activated

Save State!

Load State!

e.IsApplicationInstancePreserved ? Dormant : Tomb stoned

- Phone removed from memory

App Demo Dormant vs Tomb stone

UIModel

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Application Bar and System Tray

System TrayNo integration, but does affect LayoutShow:Hide using SystemTray.IsVisible

Application BarUp to 4 ButtonsMenu Items (Recommended 6) Toggle Visibility<mypage>.ApplicationBar.IsVisible

23

Panorama

24

Part of the native Windows Phone look and feelPanorama is a long horizontal canvasPanoramaItem serves as a container that hosts other content and controls

Pivot

25

Provides a quick way to manage views or pagesPivot is a container of pivot itemsPivotItem contain individual page content such as controls, grids, or links

Many more…

Standard ControlsButtons, Image, Layout, ListBox, TextBox, Slider, Other…

Bing MapsBing Map Control, Integration with Bing Maps Services

Web BrowserDisplays network and local content, Supports pan, double tap and pinch to zoom, Supports transforms & projections, Application can interact with javascript

26

LongListSelector

JumpList Sticky HeadersGrid View

-infinite scrolling-Remember to set IsGroupingEnabled

Launchers & ChoosersLaunchers let you fire and forgetSMS, Email, Web Browser, Dialer, Search, etc.

Choosers let you fire and pick the results backPicture, Camera, Contact, etc.

Localization(Global reach)Culture InfoUse resource strings from the start, both code-behind and XAML.

28

Push Notifications(Integration Service) Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Types of Push Notifications

Tile notificationsUpdate tile count, title and background image

30

<wp:Notification xmlns:wp="WPNotification">    <wp:Tile Id="/WorldNews.xaml?how=start">        <wp:BackgroundImage>http://www.contoso.com/worldTile.png</wp:BackgroundImage> <wp:Count>1</wp:Count> <wp:Title>Weather</wp:Title>        <wp:BackBackgroundImage>http://www.contoso.com/worldBack.png</wp:BackBackgroundImage> <wp:BackContent>Happy World News</wp:BackContent> <wp:BackTitle>World News</wp:BackTitle>    </wp:Tile></wp:Notification>

Toast notificationsDisplay a on-top-like message

<wp:Notification xmlns:wp="WPNotification">    <wp:Toast>        <wp:Text1>Tile</wp:Text1> <wp:Text2>Sub-title</wp:Text2> <wp:Param>/detailsPage.xaml</wp:Param>    </wp:Toast></wp:Notification>

Push Notifications

32

“Response”Device Connection Status : Connected

Notification Status : Received Subscription Status : Active

Windows Phone Dev Centerhttp://dev.windowsphone.com/en-us

Windows Phone Toolkithttp://phone.codeplex.com

- Thank You Questions?(Please do your eval!)