13. Windows 8 platform
HTML /
C# / VB JS
Languages C / C++
or
SL
WinRT APIs
CLR Internet
Communication Graphics/Media Devices Win32
Explorer
Application Model
Windows Kernel Services
13
14. WinRT
• Object-oriented Win32 replacement
• Native, written in C++
• Based on COM
• .NET-like metadata
• Any language can be used to extend it
• Async everywhere (50ms rule)
14
15. Windows 8 platform
HTML / CSS DirectX XAML HTML /
C# / VB JS
C / C++
JavaScript C# / VB or
C / C++
IE 10 Engine CLR SL
WinRT APIs
CLR Internet
Communication Graphics/Media Devices Win32
Explorer
Application Model
Windows Kernel Services
15
16. .NET Metro profile
• Subset of Client Profile
• No Remoting
• No System.Data
• No System.Web
• No private reflection, no Emit
• Some APIs replaced with async versions
• Some .NET classes moved to WinRT
16
17. XAML for Metro
• New variation of XAML, close to Silverlight
• Standard controls
• Button, TextBox, ComboBox, CheckBox, etc.
• New controls
• ProgressRing
• FlipView
• GridView
• ListView
17
18. Demo
• Image Browser
• Scans Pictures library and shows all the
keywords
• Allows to select a keyword
• Shows all the images for the keyword
• Snapping
• Search integration
• FilePicker integration
18
20. App packaging
• .appx file format (zip)
Files / Assets
• Compiled app and
resources
• App Manifest
AppXManifest.xml
• BlockMap
BlockMap
• Digital signature
Signature
.appx package
20
21. Installation
• Declarative approach
• Everything installed in one folder
• Installation is on per-user basis
• Installation for first user
• Registration for the next
• No custom actions
• Automatic updates
21
22. How to start
• Main start point: http://dev.windows.com/
• Samples
• Metro style app reference and APIs
• Forums
• Windows 8 Developer Preview with developer
tools (x64)
• Installation on a VM
• VirtualBox 4.1.2+
• VMware Workstation 8.0+
• Hyper-V 22
23. Links
• BUILD conference videos
• http://channel9.msdn.com/Events/BUILD/BUILD2011
• 8 Traits of Great Metro Style Apps (Jensen Harris)
• Building Windows 8 blog
• http://blogs.msdn.com/b/b8/
23