windows 8 development stack
TRANSCRIPT
Windows 8 Development Stack
Brendon Page
Overview
• Intro to the World
• The Landscape
• Two Environments (Demo)
• Desktop Apps
• Windows 8 (Metro) Apps
• WinRT, Win
• Windows RT VS Windows 8
Intro to the World
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
Two Environments
Demo
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
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
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
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)
.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
HTML & Javascript on WinRT
• WinJS manages references to WinRT
• Standard UI controls are provided by WinJS, but you are not restricted to using them
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.
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
Summary
• Multiple target environments
• Multiple OS versions with different capabilities
• New low level API with multiple stacks build on top of it