runtime 8 and windows phone 8

Post on 24-May-2015

383 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Runtime 8 for Windows Phone 8 by Damir Dobric

TRANSCRIPT

DAMIR DOBRIC

Lead Architect DAENET GmbHMs. VTSP for Windows AzureMs. Integration MVPMs. Connected Technology AdvisorBlog: http://developers.deTwitter: https://twitter.com/ddobriceMail: damir.dobric@daenet.com

“Runtime 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

Evolution

“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

Why new Runtime?

Demo

P=U*I

List<>.Add()

new Thread().Start()

ThreadPool.RunAsync()

Stubs, no pInvoke!

CLR

RCW

WinRT Object

WinRT

CCW

Managed Object

Stub Samples

Rcw Sample.txt Ccw Sample.txt

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

Demo

WinRT

As Runtime(Store App)

As API(Desktop App)

oTwo optionsoApp Storeo Sided Loading (for Enterprises)oExplicit InstallationoProvisioning

App Deployment

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)

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

Windows Phone 8

EmulatorWP8

Runtime

App ModelCode

Sharing

WP8

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

The dream or reality?

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

Demo

Windows Phone 8

Hello World

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

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

Windows Phone API

“Runtime 8”

Facts across platforms

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

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

Your Apps Your way

Supported Languages

oC# (XAML)oXNAoC++oHTML5

Project Templates

Demo

Windows Phone 8

JavaScript

jQueryWeb App on Phone

http://wpwidgetlibrary.codeplex.com/

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

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

Demo

Windows Phone 8,Windows 8

Code Sharing

Portable Library

Linked Files

Camera Accelerometer

oSocket Listeners (Incoming)Windows.Networking.Sockets

o IPv6oWinsock SupportoProximity API

Network Improvements

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; }

Demo

Custom Protocol

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

Demo

Background Process

Demo

Speech

Demo

Recognition

PNS Infrastructure

Demo

Windows Phone 8Windows Azure Mobile Services

Recap

Platform Evolution

“Runtime 8”

Platform Compatibilit

y

Emulator WP8 API

App ModelPlatform Targeting

Code SharingMobile

Services

Differences

top related