runtime 8 and windows phone 8

46
DAMIR DOBRIC Lead Architect DAENET GmbH Ms. VTSP for Windows Azure Ms. Integration MVP Ms. Connected Technology Advisor Blog: http://developers.de Twitter: https:// twitter.com/ddobric eMail: [email protected] “Runtime 8”

Upload: damir-dobric

Post on 24-May-2015

383 views

Category:

Technology


4 download

DESCRIPTION

Runtime 8 for Windows Phone 8 by Damir Dobric

TRANSCRIPT

Page 1: Runtime 8 and Windows Phone 8

DAMIR DOBRIC

Lead Architect DAENET GmbHMs. VTSP for Windows AzureMs. Integration MVPMs. Connected Technology AdvisorBlog: http://developers.deTwitter: https://twitter.com/ddobriceMail: [email protected]

“Runtime 8”

Page 2: Runtime 8 and Windows Phone 8

AGENDA

Runtime 8Under the

hubDeployment

EmulatorWP8

Runtime

App ModelCode

Sharing

Mobile Services

Platform Evolution“Runtime

8”

Platform Compatibilit

y

App Model for Cloud

WIN8

WP8

WAZ

Page 3: Runtime 8 and Windows Phone 8

Evolution

Page 4: Runtime 8 and Windows Phone 8

“METRO”-Style Evolution

System32

Windows NT

DOS

Windows 95

Windows CE/Embedded

System32/CE

Win Mobile

System32/WinRT

WP7

Vista Windows 8WOA/ARM

Windows RT

WP8 Runtime

WP8

X64/x86x86

Win8 Embedded

Page 5: Runtime 8 and Windows Phone 8

Why new Runtime?

Page 6: Runtime 8 and Windows Phone 8

Demo

P=U*I

List<>.Add()

new Thread().Start()

ThreadPool.RunAsync()

Page 7: Runtime 8 and Windows Phone 8

Stubs, no pInvoke!

CLR

RCW

WinRT Object

WinRT

CCW

Managed Object

Page 8: Runtime 8 and Windows Phone 8

Stub Samples

Rcw Sample.txt Ccw Sample.txt

Page 9: Runtime 8 and Windows Phone 8

o Standard Typeso Windows.*

o Primitive Typeso Byte, Int32, ..o Marshaling required:

o String, Objecto Projected Types

o Windows.Foundation.Urio Windows.Foundation.DateTimeOffseto HRESULT

o Projected Interfaceso IVector<T>,o IMap<T>

o Helperso StorageFolder.OpenStreamForReadAsync(fileName);

New Type System

Page 10: Runtime 8 and Windows Phone 8

Demo

WinRT

As Runtime(Store App)

As API(Desktop App)

Page 11: Runtime 8 and Windows Phone 8

oTwo optionsoApp Storeo Sided Loading (for Enterprises)oExplicit InstallationoProvisioning

App Deployment

Page 12: Runtime 8 and Windows Phone 8

o By Group PolicyIf in Windows® 8 Enterprise or Windows Server® 2012 domainhttp://technet.microsoft.com/en-us/library/hh852635.aspx#SideloadingRequirements

o By Activation KeyIf not in domain the use volume license key.

o If not in domain and no activation key then use AppStore.

Sided Loaded Apps(none appstore deployment)

Page 13: Runtime 8 and Windows Phone 8

Deployment

http://technet.microsoft.com/en-us/library/hh852635.aspx

Add Apps Inventory Apps Remove Apps

add-appxpackage C:\app1.appx –DependencyPath C:\winjs.appx

Add-AppxProvisionedPackage -Online -FolderPath C:\Appx

Get-AppxPackage -AllUsers

Get-AppxPackage -Name Package1 -User domain\username

Remove-AppxPackage Package1

Page 14: Runtime 8 and Windows Phone 8

Windows Phone 8

EmulatorWP8

Runtime

App ModelCode

Sharing

WP8

Page 15: Runtime 8 and Windows Phone 8

oWP7 and WP7.1 Apps run on WP8!oNo general breaking changeso Existing code is emulated in Quirks-Modeo Some API differences

example:XmlSerializerWP8 must have a default constructor.WP7 quirks: It is not necessary to have a default constructor

o Code after Rebuild targets WP8 platform

WP Platform Compatibility

Page 16: Runtime 8 and Windows Phone 8

The dream or reality?

Page 17: Runtime 8 and Windows Phone 8

o In Solution Explorer, use the Upgrade to Windows Phone 8.0 command.

o In the project designer, change the Target Windows Phone OS Version value to Windows Phone OS 8.0.

Upgrade

Page 18: Runtime 8 and Windows Phone 8

Demo

Windows Phone 8

Hello World

Page 19: Runtime 8 and Windows Phone 8

Emulator

• Hardware-assisted virtualization supported and enabled in the BIOS

• Second Level Address Translation (SLAT) supported by the BIOS

• Hardware-based Data Execution Prevention (DEP) supported and enabled in the BIOS

http://developers.de/blogs/damir_dobric/archive/2012/10/14/windows8-error-hypervisor-is-not-running.aspx

Page 20: Runtime 8 and Windows Phone 8

Resolution

Resolution Aspect ratio Scaled resolution

WVGA 480 × 800 15:9 480 × 800

WXGA 768 × 1280 15:9 480 × 800

720P 720 × 1280 16:9 480 × 853

Page 21: Runtime 8 and Windows Phone 8

Windows Phone API

Page 22: Runtime 8 and Windows Phone 8

“Runtime 8”

Page 24: Runtime 8 and Windows Phone 8

Facts across platforms

Page 25: Runtime 8 and Windows Phone 8

Common API-s

DirectX 11.1XAudio2MediaEngineSTLCRTWinSock

Native API

Networking

Sensors

Proximity

Storage

DataSaver/Connection Manager

Location

Touch

Online IdentityVoIP

Keyboard

Launchers & Choosers

In-App Purchase

Sensors

Threading

Base Types/ Windows.Foundation

WinRT API

Page 26: Runtime 8 and Windows Phone 8

o Bluetotho Advanced Captureo Lence controlo Photo and Media enhencmetso LongListSelectoro Subset of WinRT storage APIo Data Sense APIo DirectX and native audio and mediao File and protocol associationso In-App purchasingo Location tracking in Backgroundo App as Lock Screeno VoIP

New APIs

Page 28: Runtime 8 and Windows Phone 8

Your Apps Your way

Page 29: Runtime 8 and Windows Phone 8

Supported Languages

Page 30: Runtime 8 and Windows Phone 8

oC# (XAML)oXNAoC++oHTML5

Project Templates

Page 31: Runtime 8 and Windows Phone 8

Demo

Windows Phone 8

JavaScript

jQueryWeb App on Phone

http://wpwidgetlibrary.codeplex.com/

Page 32: Runtime 8 and Windows Phone 8

oOS 7.1, apps run on a single core, and the scheduler is less aggressive in time-slicing

oOS 8, apps run on multiple cores and the scheduler is more aggressive in time-slicing threads. Raise conditions and concurrency bugs easier to achieve

Threading

Page 33: Runtime 8 and Windows Phone 8

oSingle OS 7.1 version which runs on both. No new features are supported. Runs in quirks

oCreate separate copy for 7.1 and 8.0oCreate separate copy with shared files

Platform Targeting

Page 34: Runtime 8 and Windows Phone 8

Demo

Windows Phone 8,Windows 8

Code Sharing

Portable Library

Linked Files

Camera Accelerometer

Page 35: Runtime 8 and Windows Phone 8

oSocket Listeners (Incoming)Windows.Networking.Sockets

o IPv6oWinsock SupportoProximity API

Network Improvements

Page 36: Runtime 8 and Windows Phone 8

In-App Purchasing

Class Member Description

CurrentApp LoadListingInformationByProductIdsAsync(ListingInformation productIds)

CurrentApp LoadListingInformationByKeywordsAsync(ListingInformation keywords)

CurrentApp void ReportProductFulfillment(string productId)

ProductLicense bool IsConsumable { get; } ProductListing string Description { get; } ProductListing IEnumerable<string> Keywords {get;}

ProductListing ProductType ProductType {get;} ProductListing string Tag {get;} ProductListing Uri ImageUri { get; }

Page 37: Runtime 8 and Windows Phone 8

Demo

Custom Protocol

Page 38: Runtime 8 and Windows Phone 8

o Enterprise Enrollment o Company Accounto Symantec Verificationo Corporate Signing Certificate

o Managemento System Centero InTune

o Token Distributiono AETGenerator generates Application Enrollment Token (AET) .aetxo EnterpriseInstall.exe

o Enrolles Tokeno Distributes XAP

o EnterpriseValidation.exeo Periodically sends Device ID, installed apps to MS Server to validate enterprise.

o Enterprise Developer APIo query what apps are installed for enterprise, o start an enterprise app installation o query pending enterprise app installation

Enterprise Device Enrollment

Page 39: Runtime 8 and Windows Phone 8

Demo

Background Process

Page 40: Runtime 8 and Windows Phone 8

Demo

Speech

Page 41: Runtime 8 and Windows Phone 8

Demo

Recognition

Page 42: Runtime 8 and Windows Phone 8

PNS Infrastructure

Page 43: Runtime 8 and Windows Phone 8

Demo

Windows Phone 8Windows Azure Mobile Services

Page 45: Runtime 8 and Windows Phone 8

Recap

Platform Evolution

“Runtime 8”

Platform Compatibilit

y

Emulator WP8 API

App ModelPlatform Targeting

Code SharingMobile

Services

Page 46: Runtime 8 and Windows Phone 8

Differences