Andreas Schabus Technology Advisor Microsoft Österreich · Windows 8 > 100 million licenses...

Preview:

Citation preview

Andreas Schabus

Technology Advisor

Microsoft Österreich

Windows 8> 100 million licenses

>100,000 apps in Store

>250 million app downloads

~90% of app catalog downloaded

Windows 8.1FREE upgrade for Windows 8 and RT

RTM in late August

More devices…

Windows 8(.1) Platform

Desktop Apps

Nuget Gallery

Desktop Apps

Dynamic DPI

Direct Composition

Direct Manipulation

.NET 4.5.1

http://www.microsoft.com/net/nettechnologyguidance

Windows Store Apps

Core Platform - Windows 8 APIs

User interface

Fundamentals

Devices Communications and data Services

Geo-location

Proximity

Direct3D Direct2D Direct Write

PlayTo

Contracts

Bing

Azure Mobile

HTML5/CSS XAMLInput Controls

Authentication

Portable

Sensors Playback Capture

Printing

SVGCanvas

Local storage

SMS

StreamsBackground

transfer

Syndication Networking

XML and JSON

Skydrive

Live tiles and toast

Accessibility Data binding

Application services

Threading/timersMemory

managementGlobalization Cryptography

Xbox Live

Core Platform - Windows 8.1 updated APIs

User interface

Fundamentals

Devices Graphics and media Communications and data Services

Geo-location

Proximity

Direct3D Direct2D Direct Write

PlayTo

Contracts

Bing

Azure Mobile

HTML5/CSS XAMLInput Controls

Authentication

Portable

Sensors Playback Capture

Printing

SVGCanvas

Local storage

SMS

StreamsBackground

transfer

Syndication Networking

XML and JSON

Skydrive

Live tiles and toast

Accessibility Data binding

Application services

Threading/timersMemory

managementGlobalization Cryptography

Xbox Live

Core Platform - Windows 8.1 new APIs

User interface

Fundamentals

Devices Graphics and media Communications and data Services

Geo-location

Proximity

Direct3D Direct2D Direct Write

PlayTo

Contracts

Bing

Azure Mobile

HTML5/CSS XAMLInput Controls

Authentication

Bluetooth

USB

HID WiFi direct

Point of service

3Dprinting

Scanning

WebGL

HTTP

Contacts

Appoint-ments

PDF

Speech synthesis

Diagnostics

Portable

Sensors Playback Capture

Printing

SVGCanvas

Local storage

SMS

StreamsBackground

transfer

Syndication Networking

XML and JSON

Skydrive

Live tiles and toast

Accessibility Data binding

Application services

Threading/timersMemory

managementGlobalization Cryptography

Xbox Live

Core Platform - Windows 8.1 desktop APIs

User interface

Fundamentals

Devices Graphics and media Communications and data Services

Geo-location

Proximity

Direct3D Direct2D Direct Write

PlayTo

Contracts

Bing

Azure Mobile

HTML5/CSS XAMLInput Controls

Authentication

Bluetooth

USB

HID WiFi direct

Point of service

3Dprinting

Scanning

WebGL

HTTP

Contacts

Appoint-ments

PDF

Speech synthesis

Diagnostics

Portable

Sensors Playback Capture

Printing

SVGCanvas

Local storage

SMS

StreamsBackground

transfer

Syndication Networking

XML and JSON

Skydrive

Live tiles and toast

Accessibility Data binding

Application services

Threading/timersMemory

managementGlobalization Cryptography

Xbox Live

User Experience

Systemsteuerung

Demo: Alarm App

Windowing Model

Multiple Apps on the screen

User can have more than two apps on screen at once

User can resize the app width

Apps can share display when launching other apps

Multiple Windows per App

User can expand app into multiple windows

Windows managed by user like apps

Multiple Monitors

Windows Store apps on many monitors simultaneously

Per Monitor DPI settings

XAML (markup) – Windows 8 and 8.1

<VisualStateManager.VisualStateGroups>

<VisualStateGroup>

<VisualState x:Name=“PrimaryLayout">

<Storyboard>

</Storyboard>

</VisualState>

</VisualStateGroup>

</VisualStateManager.VisualStateGroups>

XAML (code behind) – Windows 8

Window.Current.SizeChanged += Window_SizeChanged;

void Window_SizeChanged(object sender, WindowSizeChangedEventArgs e){

if (ApplicationView.Value == ApplicationViewState.Filled){

VisualStateManager.GoToState(this, “PrimaryLayout", true);

}

}

XAML (code behind) – Windows 8.1

Window.Current.SizeChanged += Window_SizeChanged;

void Window_SizeChanged(object sender, WindowSizeChangedEventArgs e){

if (e.Size.Width >= 500){

VisualStateManager.GoToState(this, “PrimaryLayout", true);

}

}

HTML (CSS) – Windows 8

/* Example CSS */

@media screen and (-ms-view-state: filled){

body{

/* Define primary layout styles here */}

}

HTML (CSS) – Windows 8.1

/* Example CSS */

@media screen and (min-width: 500px){

body{

/* Define primary layout styles here */}

}

Apps working together

Direct Store Fallback

People API

Calendar API

New Search Experience

Customization

Start notification before app first run

Quiet Hours

App data back up to SkyDrive

More app tile templates

Beyond touch

Speech synthesis

Render PDF documents

XAML

“Why don’t you have XYZ control for apps using XAML?!”

-Everyone on The Internet

Date and Time Pickers

Supports all locales/languages

Date/Time change notification

Custom formatting of parts

12/24 clock modes

Date and Time Pickers

<DatePicker Header="Select a date:"

CalendarIdentifier="JapaneseCalendar"

DayFormat="{}{day.integer}{dayofweek.abbreviated}"

/>

<TimePicker ClockIdentifier="24HourClock" />

Placement/animations

Back navigation

Header customization

Design-time experience

WebView improvements

Seamless integration into XAML

Navigation control

Event lifecycle

Rendering local content via URI

Increased security via app content URIs in manifest

Performance

Design and develop with user experience performance in mind. Better user satisfaction translates to more positives

for your app. Don’t sacrifice for user experience.

Startup performance

Defer loading of keyed resources

Delay-load of theme resources

Using primitive composition techniques for lists

Optimize known XAML paths

XAML Binary Format (XBF)

Look ma, no XAML!

Visual Studio does this for you

Line/column info stillthere for debug

“And what if I use HTML and JavaScript for my Windows Store Apps?

Core Platform - HTML

WebGL

Encrypted Media Extension, Media Source Extensions, MPEG-DASH, WebCrypto

Pointer Events

All New Developer Tools

Live Tile for Pinned sites

New User Agent String

Enhanced Protected Mode

High DPI

New WinJS ControlsHub, Repeater, Navigation Bar, Item Container, …

WinJS Controls improved performance, New WinJS Scheduler

New WebViewNavigation, Local Content, SmartScreen, App to Web Communication

Networking & Security

New WinRT HTTP client API

HTTP Prefetching

Improved Background downloading

Fingerprint authentication

Web Authentication Broker improvements

Virtual Smart Card and Certificate management

App account settings

Device Support

Protocol APIsHIDUSBBluetooth Wi-Fi Direct

Device Specific APIsPoint of Service3D PrintingScanning

User interface

Fundamentals

Devices Graphics and media Communications and data Services

Geo-location

Proximity

Direct3D Direct2D Direct Write

PlayTo

Contracts

Bing

Azure Mobile

HTML5/CSS XAMLInput Controls

Authentication

Bluetooth

USB

HID WiFi direct

Point of service

3Dprinting

Scanning

WebGL

HTTP

Contacts

Appoint-ments

PDF

Speech synthesis

Diagnostics

Portable

Sensors Playback Capture

Printing

SVGCanvas

Local storage

SMS

StreamsBackground

transfer

Syndication Networking

XML and JSON

Skydrive

Live tiles and toast

Accessibility Data binding

Application services

Threading/timersMemory

managementGlobalization Cryptography

Xbox Live

Links

http://dev.windows.com/

http://design.windows.com

http://channel9.msdn.com/Events/Build/2013

http://www.codefest.at

Recommended