Transcript
Page 1: Essentials of Developing Windows Phone Apps

Essentials of Developing Windows

Phone AppsChinthaka Dissanayake

Tech Lead Exilesoft

Page 2: Essentials of Developing Windows Phone Apps

Is it difficult to become a WP Developer??

Web Developers

Windows Developers

Runtime APIs

Page 3: Essentials of Developing Windows Phone Apps

One Windows for All

Development Platform

Core Platform

90%+• More skillset Reuse• More code reuse• More seamless app experiences

• Shared Dev registration• Shared Entitlement

• Proximity and Location Frameworks• Security and Identity• Task Scheduler

Page 4: Essentials of Developing Windows Phone Apps

Windows Developer Platform

WinJS(HTML + JS)

Windows XAML

(C#/VB/C++)

Windows Phone Silverlight (C#/VB)

DirectX (C++)

Windows Runtime (WinRT) .NET CLR

Navigation

Packaging

Contracts

Background

App Model Services

Store

Push

Roaming

App Data Backup

Windows Kernel

Graphics Audio Media Commerce

Networking File System Input Sensors

Windows Runtime API Set

Page 5: Essentials of Developing Windows Phone Apps

Getting Windows Phone 8.1• New Devices sold into market from July 2014 will have

Windows Phone 8.1 pre-installed• All devices running Windows Phone 8.0 are capable of

being upgraded to Windows Phone 8.1– Availability of upgrades for devices is under the control of

the Mobile Operator• Registered developers can upgrade their phone

through the “Preview for Developers” Program– http://dev.windowsphone.com– http://appstudio.windowsphone.com

https://dev.windowsphone.com/en-us/develop/devpreview

Page 6: Essentials of Developing Windows Phone Apps

Development PC requirements• Supported Operating Systems– Windows 8.1 (X86 or X64)

• Hardware– 4GB of Disk Space– 1.5GB of RAM– 64 bit Motherboard

• To use Windows Phone Emulators– Windows 8.1 Pro or Higher (for Hyper-V)– Second Level Address Translation– Min 4GB RAM

Page 7: Essentials of Developing Windows Phone Apps

Development Choices

WP 7.0Silverlight

WP 7.5Silverlight

WP 8.0Silverlight

WP 8.1Silverlight

WP 8.1 WinRT

Page 8: Essentials of Developing Windows Phone Apps

Design Principles• Content, NOT Chrome• Alive and in Motion• Clean, Light, Open and Fast• Celebrate Typography• Windows 8 UI Guidelines

http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx

Page 9: Essentials of Developing Windows Phone Apps

MVVM

ViewModel

ModelView

Binding

Commands

• Stands for Model-View-ViewModel• Architectural Pattern that employs Data binding and strict

Separation of Concerns

See : http://msdn.microsoft.com/en-us/library/hh821028.aspx

Page 10: Essentials of Developing Windows Phone Apps

Let’s Develop a Real App

Page 11: Essentials of Developing Windows Phone Apps

How data binding Works

<TextBlock Text={Binding ItemName}

ToDoItemsPage.XAML

<ToDoItemsPage DataContext=ToDoItemsViewModel>

View

Property : ItemName: Value = “Meetup”

ToDoItemsViewModel : INotifyPropertyChanged

ViewModel

Subscribes to

PropertyChanged

Page 12: Essentials of Developing Windows Phone Apps

Application Lifecycle, Why ?• Phone Resources are scarce• OS Runs one foreground app at a time• Other apps are suspended and/or terminated• OS has many mechanisms for an app to

appear ‘alive’• OS has controlled mechanisms for

background code

Page 13: Essentials of Developing Windows Phone Apps

Application Lifecycle

Request app in foreground

Use Suspending and OnLaunched States to save and restore state

Save State during Suspending

App activated (User or contract)

OS Preserves the Status

Suspended

Running App sent to background

Not running

OS reclaims system resources

Activated

Resuming Suspending

Can we debug these State Transitions ?

Page 14: Essentials of Developing Windows Phone Apps

Manifest, Device Capabilities and App Packaging

• Describes your Application– Display Name– Entry Point / Navigation Page– App Icon/Images tiles and Logos– Capabilities– Requirements

• Demo

Page 15: Essentials of Developing Windows Phone Apps

Testing – Windows App Certification Kit (WACK)

• Create App Package via Visual Studio• Run WACK and selected the created AppX• Select tests to be run• Output is an XML file that can be opened in a

browser to analyze result• Demo

Page 16: Essentials of Developing Windows Phone Apps

Windows Phone Store

• Only way you can put executable content into Windows Phone

• Users can buy applications and deploy them onto their devices

• Developers can unlock their own devices for testing

Page 17: Essentials of Developing Windows Phone Apps

Joining the Store• How to become a Publisher– $19/Year for individual registrations– $99/Year for companies

• Options for Students– DreamSpark– MSDN Benefits

• Join at– http://dev.windowsphone.com– http://dev.windows.com

Page 18: Essentials of Developing Windows Phone Apps

Monetization Options

• Paid App• Paid App with free trial

– Time limited Trial– Feature limited Trial

• Paid/Free App with in-app purchase• Free App with Ads

– Microsoft Ads SDK– Third party ad SDKs or Product Rotators

• Free App

Page 19: Essentials of Developing Windows Phone Apps

Developer Portal and App Submission

• Shared Identity Apps– Customer gets app and Entitlements across

Windows and Phone– Roaming data enabled across Windows and Phone– Single Push Notification Channel

Page 20: Essentials of Developing Windows Phone Apps

What's Next ?

Page 21: Essentials of Developing Windows Phone Apps

Questions ?

Page 22: Essentials of Developing Windows Phone Apps

Summary

Development Choices Data Binding

Lifecycle Packaging

Testing

Architecture and Design

UI Design

Store Submission Monetization

Universal Apps


Top Related