13
Windows 8 ◦ WinRT ◦ Metro Apps FOR .NET DEVELOPERS Robert MacLean ◦ 10 April 2012

Windows 8 for the .NET developer

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Windows 8 for the .NET developer

Windows 8 ◦ WinRT ◦ Metro Apps

FOR .NET DEVELOPERSRobert MacLean ◦ 10 April 2012

Page 2: Windows 8 for the .NET developer

Hi

I work at www.bbd.co.za

I tweet at @rmaclean

I blog at www.sadev.co.za

Call me Robert

I want your feedback

Page 3: Windows 8 for the .NET developer

Windows 8

Bold new user experience called Metro

ARM support for first time everOver 100 000 new & improved features

Next release of Windows OS

A new way to write applications: WinRT

Page 4: Windows 8 for the .NET developer

Agenda

You go home and think about this

Get some beerShow some awesome code

Brief introduction to land scape

Come back on the 14th for the hack-a-thon

Page 5: Windows 8 for the .NET developer

The new Windows Runtime

Modern thinking

Target market for a OS is different

Win32 API was introduced 19 years ago

Borrows from .NET & Mobile Platforms

Devices we use daily didn’t exist

Page 6: Windows 8 for the .NET developer

Why a Metro app?

Installs the way users want: from a stored & sandboxed

Take advantage of Windows 8 features Increase trust & performance in the platform

Does this replace WinForms/WPF?

Cross CPU architecture

Page 7: Windows 8 for the .NET developer
Page 8: Windows 8 for the .NET developer

8 6/29/2011MICROSOFT CONFIDENTIAL

What does first class mean?[DllImport("avicap32.dll", EntryPoint="capCreateCaptureWindow")]static extern int capCreateCaptureWindow( string lpszWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hwndParent, int nID);

[DllImport("avicap32.dll")] static extern bool capGetDriverDescription( int wDriverIndex, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszName, int cbName, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszVer, int cbVer);

// more and more of the same

Page 9: Windows 8 for the .NET developer

9 6/29/2011MICROSOFT CONFIDENTIAL

It means thisusing Windows.Media.Capture;

var ui = new CameraCaptureUI();ui.PhotoSettings.CroppedAspectRatio = new Size(4, 3);

var file = await ui.CaptureFileAsync(CameraCaptureUIMode.Photo);

if (file != null) { var bitmap = new BitmapImage() ; bitmap.SetSource(await file.OpenAsync(FileAccessMode.Read)); Photo.Source = bitmap;}

Page 10: Windows 8 for the .NET developer

It’s dangerous to go alone! Take this.

Windows 8 Developer LicenseVisual Studio Express for Windows is FREE

Visual Studio 11

Page 11: Windows 8 for the .NET developer

Make time go slower

Roaming data & settings to the cloudLife cycle management

Cross language development

Page 12: Windows 8 for the .NET developer

The South African Question

Registration: R350 per individual; R700 per company

Developers paid in Rand’s direct to bank account

Buy in Rand’s

South Africa supported fully from launch

http://bit.ly/w8-store-za

Page 13: Windows 8 for the .NET developer

Don’t ask me questions

If you want to know more about the JavaScript side

Slides & Demo bits: www.sadev.co.za

Okay, fine… maybe just for you ;)

I want my beer

www.JSinSA.com