windows 8 development stack

14
Windows 8 Development Stack Brendon Page

Upload: dev2

Post on 21-Aug-2015

865 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Windows 8 Development Stack

Windows 8 Development Stack

Brendon Page

Page 2: Windows 8 Development Stack

Overview

• Intro to the World

• The Landscape

• Two Environments (Demo)

• Desktop Apps

• Windows 8 (Metro) Apps

• WinRT, Win

• Windows RT VS Windows 8

Page 3: Windows 8 Development Stack

Intro to the World

Page 4: Windows 8 Development Stack

The Landscape

Windows Kernel

.NET CLR

Browser

C#/VB/F# C C++ Java

Script Silverlight

CLR

WinRT

Java Script

.NET CLR

C C++

C#/VB/F#

XAML XAML HTML

CSS

C#

XAML HTML

CSS XAML

WinForms

Desktop Apps Windows 8 (Metro) Apps

Win32

WinJS

Page 5: Windows 8 Development Stack

Two Environments

Demo

Page 6: Windows 8 Development Stack

Desktop Apps

• Can’t be deployed or sold though the market place. Only a description and a linked will be available

• If it runs in Windows 7 it will run in Windows 8

Page 7: Windows 8 Development Stack

Windows 8 (Metro) Apps

• Primarily deployed and sold through the market place

• Can be side loaded if signed by certificate which is trusted by the target PC

• Sandboxed

Page 8: Windows 8 Development Stack

WinRT Overview

Metro

Projected

Windows Kernel

Windows Runtime

JavaScript

.NET CLR

C C++

C# VB

XAML XAML HTML

CSS

Projected Projected

Communication & Data

Graphics & Media

Devices & Printing

Application Model

WinJS

Page 9: Windows 8 Development Stack

WinRT Break Down

• Exposes UI model for new ‘Metro look’

• APIs are all designed to be asynchronous

• Unmanaged (Implemented at ABI level using COM as a base)

• Upgraded COM object model, delegates & events

• The API definitions are exposed in ECMA 335 metadata format, the same one .NET uses. (C:\windows\system32\winmetadata\*.winmd)

Page 10: Windows 8 Development Stack

.NET on WinRT

• Reference WinRT as if it was a .NET assembly

• Intelligent type mapping, no intermediate COM interop artifacts. This is built into CLR and because of metadata format.

• Can only reference WinRT if app targets Windows 8 subset of .NET

• Windows 8 .NET subset is similar to the Client Profile but with only core functionality

Page 11: Windows 8 Development Stack

HTML & Javascript on WinRT

• WinJS manages references to WinRT

• Standard UI controls are provided by WinJS, but you are not restricted to using them

Page 12: Windows 8 Development Stack

C++ on WinRT

• C++ language extensions map WinRT to standard C++ patterns such as constructors, class methods … etc and hides COM concepts like reference count.

Page 13: Windows 8 Development Stack

Windows RT VS Windows 8

Windows RT Windows 8

• Only bundled with tablets • Runs on ARM architecture • Start menu \ Metro environment • Bundled with Office RT

• Bundled with tablets • Bundled with PCs • Available for consumer purchase • Runs on Intel (x86) architecture • Start menu \ Metro environment • Desktop environment

Page 14: Windows 8 Development Stack

Summary

• Multiple target environments

• Multiple OS versions with different capabilities

• New low level API with multiple stacks build on top of it