2
Agenda
• Developing for Classic Desktop
• Introduction to Metro UI
• Building Metro applications
3
Is .NET dead?
vs
4
Windows 8 platform
Windows Kernel Services
Internet Explorer Win32
CLR
Metro-style APIs
C# / VBHTML /
JSor
SL
C / C++
5
.NET 4.5 Framework
• Pre-installed in Windows 8
• Windows XP is not supported
• Use 4.0 runtime (same as 3.5 use 2.0 RT)
6
Asynchronous development
• New data structures
• New async APIs
• New keywords in C# and VB• async• await
7
DemoAsync and Await
8
If it runs on a Windows 7,
it'll run on Windows 8 PC
9
DemoMetro UI
10
App suspension
• Inactive apps are suspended by the OS:• Apps remain in memory• No CPU, Disk or Network consumed• All threads are suspended
11
App lifecycle states
Not started Running
Suspended
Suspending
12
DemoApp lifecycle
13
Windows 8 platform
Windows Kernel Services
Internet Explorer Win32
CLR
WinRT APIs
Application Model
Communication Graphics/Media Devices
LanguagesC# / VB
HTML / JSor
SL
C / C++
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)
15
Windows 8 platform
Windows Kernel Services
Internet Explorer Win32
CLR
WinRT APIs
Application Model
Communication Graphics/Media Devices
IE 10 EngineC / C++
CLR
JavaScript C# / VB
HTML / CSS DirectX XAMLC# / VB
HTML / JSor
SL
C / C++
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
17
XAML for Metro
• New variation of XAML, close to Silverlight
• Standard controls• Button, TextBox, ComboBox, CheckBox, etc.
• New controls• ProgressRing• FlipView• GridView• ListView
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
19
DemoDeveloping Windows 8 apps
20
App packaging
• .appx file format (zip)
• Compiled app and resources
• App Manifest
• BlockMap
• Digital signature
AppXManifest.xml
BlockMap
Signature
Files / Assets
.appx package
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
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
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/
24
Q & A
lunarfrog.com/blog
@taggedfrog
Thank you!
25