Development Windows Phone & W8 - Mobile...

Post on 15-Jul-2020

1 views 0 download

Transcript of Development Windows Phone & W8 - Mobile...

Windows Phone

*39PDA

Principles of Mobile Application Design

Václav Jirovský, ČVUT FIT

Development Win8 & WP

Topics

What is Windows Phone?– Versions

– Design guidelines

– Architecture

Development– Languages & IDE

– Application resources

– Data storage

– Localization

– Live Tiles

Universal apps

Windows Store– Overview

– Rules

Resources

Development Win8 & WP

What is Windows Phone?

OS for mobile devices

Development Win8 & WP

Windows Phone != Windows Mobile

Development Win8 & WP

WP versions overview

Windows Phone 7– „revolution“ – no backward compatibility with Windows Mobile

– Discontinued - you can’t upgrade your WP7 device

Windows Phone 8– New core same as in Windows 8

– Backward app compatibility with WP7

Windows Phone 8.1– Improved UI, enterprise fuctions

– Backward app compatibility with WP8

Development Win8 & WP

Multi-pages design

Panorama

Development Win8 & WP

Multi-pages design

Panorama

Development Win8 & WP

Multi-pages design

Pivot

Development Win8 & WP

Gestures

Development Win8 & WP

UI controls

App bar

App bar

Development Win8 & WP

UI controls

Development Win8 & WP

Design

Enhancements

Buttons

Source: http://blogs.msdn.com/b/africaapps/archive/2014/03/08/ux-guidelines-for-windows-phone-8.aspx

Development Win8 & WP

App pages flow

Back button Back button

Development Win8 & WP

App lifecycle

Development Win8 & WP

Development

Development Win8 & WP

What you need?

Windows 8 Pro 64-bit– processor with Hyper-V+SLAT support

Visual Studio 2013 (Update 2)+

Windows Phone Emulators images– https://dev.windows.com/en-us/develop/download-phone-sdk

Where to get it (for free)?

Dreamspark – students– www.dreamspark.cz

Bizspark – startups– www.bizspark.cz

Development Win8 & WP

Architecture

Development Win8 & WP

Development using C# (C++, VB)

Used technologies: XAML, C#

XAML

Development Win8 & WP

Development using HTML5+CSS

Used technologies: HTML, JavaScript, CSS

Microsoft open-source library WinJS– Calls system API (access to file, sensors,...)

HTML5 data- attributes

<div id="ratingControlHost"data-win-control="WinJS.UI.Rating"data-win-options="{maxRating: 10, averageRating: 6}">

</div>

<div id="timepicker“data-win-control="WinJS.UI.TimePicker“data-win-options="{current: '10:29 am'}">

</div>

Development Win8 & WP

DEMO

C# and WinJS project wizard

Development Win8 & WP

Appmanifest

XML files Package.appxmanifest,

WMAppManifest.xml

Describes app– Application name

– icons

– Languages

– Permissions

• For example: microphone, sensors, webcam

Development Win8 & WP

DEMO

Appmanifest

Development Win8 & WP

Notification - live tiles

Development Win8 & WP

Push notifications - principle

Development Win8 & WP

Notification – live tiles WP8.0

Iconic Tile Flip Tile

Cycle Tile

Development Win8 & WP

DEMO

Tile notifications

Tile template cataloghttp://msdn.microsoft.com/en-us/library/windows/apps/hh761491.aspx

Development Win8 & WP

Notification - toasts

Development Win8 & WP

DEMO

Toast notifications

Development Win8 & WP

Image resources

Splashscreen Icons

Development Win8 & WP

Data storage

Local settings

Roaming settings– Synced across user’s devices

Isolated storage– Local folder, Roaming folder

– SQLite

Network storage– Azure Mobile Services

Development Win8 & WP

Localization

In view are binded texts (strings) needed to be

translated

Language resource file

Similar as Gettext

Development Win8 & WP

Background tasks

PeriodicTask– Runs every ~ 30 minutes

– Max. 25 seconds

– Max. 6MB RAM usage

ResourceIntensiveTask– Runs when charging & battery >=90% & Wi-Fi & phone is not used

– Max. 6MB RAM usage

Development Win8 & WP

Universal applications

Development Win8 & WP

Universal applications

Source: http://www.slideshare.net/devfish/universal-apps-for-windows-runtime

Development Win8 & WP

Universal applications - API

Development Win8 & WP

Universal applications - API

Windows Runtime covers

more than 90% Windows

Phone Runtime API

Development Win8 & WP

Universal applications

Develop one application for– Windows Phone

– Windows 8.1 (tablets+computers)

– Xbox One

Same principle as responsive web design

One controller (code), more views

User buys one app = pays once = happy user

Development Win8 & WP

Universal applications

In Visual Studio universal app is made by:

– Windows Store project

– Windows Phone project

– “glue project”

Development Win8 & WP

DEMO

Universal applications VS project

Development Win8 & WP

Windows Store

Development Win8 & WP

Windows Store

https://dev.windows.com/en-us/dashboard

Together for Windows 8.1 & Windows Phone

Registration fee– Lifetime registration

– For students free registration

App is compiled into one package (.xap)

Development Win8 & WP

Windows Store – certification process

All apps (even updates of existing app) goes

through certification

Usually takes 3-5 days

Long list of certification rules– http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx

“Aplikace nevyhovuje požadavku 4.4. Tento požadavek se týká aplikací, které mají funkce zásadního

významu. To znamená, že když aplikace selže, může dojít ke zranění lidí. Příkladem takovéto

nekompatibilní aplikace je aplikace GPS určená k použití při pohotovostním zásahu, kdy jde o život, nebo

aplikace určená k řízení letecké dopravy.”

Development Win8 & WP

DEMO

Generate package (WACK) + submit new app to

Store

Development Win8 & WP

More resources

MSDN documentation– Documentation, demos, tutorials

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

– http://dev.windows.com

StackOverflow– Lot of answered questions

– http://stackoverflow.com

Development Win8 & WP

Thank you for you attention!

Václav Jirovský

@vjirovsky