34
Apps Development on Windows Phone -By Pruthvi.

Windows Phone Apps Development overview

Embed Size (px)

DESCRIPTION

Windows Phone Apps Development overview

Citation preview

Page 1: Windows Phone Apps Development overview

Apps Development on Windows Phone

-ByPruthvi.

Page 2: Windows Phone Apps Development overview

-Overview-MVVM-Building Windows Phone apps

Agenda

Page 3: Windows Phone Apps Development overview

General ConceptSoftware

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 4: Windows Phone Apps Development overview

New Concept

4

DESIGN: END USER COMES FIRST

PLATFORM: RICHER, DEEPER, EASIER APPS

HARDWARE:FASTER TO MARKET, LESS HEAVY LIFTING

Page 5: Windows Phone Apps Development overview

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

Page 6: Windows Phone Apps Development overview

Overview

Page 7: Windows Phone Apps Development 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

Page 8: Windows Phone Apps Development overview

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?

Page 9: Windows Phone Apps Development overview

MVVM Made Easy

DEV216

Page 10: Windows Phone Apps Development overview

MVVM?

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

Page 11: Windows Phone Apps Development overview

Simple Case

Page 12: Windows Phone Apps Development overview

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" />

Page 13: Windows Phone Apps Development overview

Architecture

Page 14: Windows Phone Apps Development overview

Building WP apps

Page 15: Windows Phone Apps Development overview

New and Updated Project TemplatesHTML5, Localization Support, Alignment Grid

Project templates

Page 16: Windows Phone Apps Development overview

Windows Phone Developer Tools

16

Packaging & Verification Tools

myapp.xap

Windows Phone device

Windows PhoneEmulator

Phone EmulatorSamples DocumentationGuides Community

Packaging and Verification Tools

Tools

Page 17: Windows Phone Apps Development overview

Register Your Device

17

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

Page 18: Windows Phone Apps Development overview

Deployment Process

18

Develop & Debug

Submit& Validate

Certify & Sign

Windows Phone Application Deployment Service

Marketplace

Page 19: Windows Phone Apps Development overview

Application Lifecycle Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 20: Windows Phone Apps Development overview

Application Lifecycle

running

deactivated

DormantTomb

stoned

activated

Save State!

Load State!

e.IsApplicationInstancePreserved ? Dormant : Tomb stoned

- Phone removed from memory

Page 21: Windows Phone Apps Development overview

App Demo Dormant vs Tomb stone

Page 22: Windows Phone Apps Development overview

UIModel

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 23: Windows Phone Apps Development overview

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

Page 24: Windows Phone Apps Development overview

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

Page 25: Windows Phone Apps Development overview

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

Page 26: Windows Phone Apps Development overview

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

Page 27: Windows Phone Apps Development overview

LongListSelector

JumpList Sticky HeadersGrid View

-infinite scrolling-Remember to set IsGroupingEnabled

Page 28: Windows Phone Apps Development overview

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

Page 29: Windows Phone Apps Development overview

Push Notifications(Integration Service) Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 30: Windows Phone Apps Development overview

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>

Page 31: Windows Phone Apps Development overview

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>

Page 32: Windows Phone Apps Development overview

Push Notifications

32

“Response”Device Connection Status : Connected

Notification Status : Received Subscription Status : Active

Page 33: Windows Phone Apps Development overview

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

Windows Phone Toolkithttp://phone.codeplex.com

Page 34: Windows Phone Apps Development overview

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