26
4DotNet Developers Day Sessie over Windows 8, verzorgd door Henk Holterman.

Windows 8, door Henk Holterman op de 4DotNet Developers Day

Embed Size (px)

DESCRIPTION

Windows 8, door Henk Holterman op de 4DotNet Developers Day

Citation preview

Page 1: Windows 8, door Henk Holterman op de 4DotNet Developers Day

4DotNet Developers Day

Sessie over Windows 8, verzorgd door Henk Holterman.

Page 2: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Agenda

• Windows 8• Metro• Windows Runtime• .NET 4.5, C# 5, VS 11• Zelf proberen

Page 3: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Windows re-imagined

• MS: net zo’n grote stap als Win 3.1 -> Win95• Telefoons, Pads, Full HD (plus) Monitoren• Touch, Sensors, camera’s• Always connected• Social Media• Cloud• Security• …

Page 4: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Windows 8

• Windows Explorer met Ribbon– Maar ook: 200 Shortcut Keys

• Hyper-V• Nieuwe TaskManager• Betere Restore en Reset• nog veel meer …• En vooral: Metro

Page 5: Windows 8, door Henk Holterman op de 4DotNet Developers Day

UEFI : veilig opstarten

• Hoort niet direct bij Win 8 maar meer bij het Moederbord• Ook voor andere OS-en en multi-boot

• er is discussie, niet iedereen is blij

Page 6: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Metro

van telefoon tot supermonitor

Page 7: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Metro – de GUI

• Simpeler• Minder lijnen• Minder kleur gradienten• Strakke typografie• Past zich aan aan Resolutie(s) en Orientatie• Geen overlappende Vensters meer• Regie over layout: Tiles, Snap, Fill, Fullscreen• En vooral: Touch

Page 8: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Interactie

• For the User: Charms • For the Developer: Contracts• Share– Targets: Twitter, Facebook, Mail, NotesTaker, … – Source: Almost everything

• Search • Picker• …

Page 9: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Al weer een platform

C++

C#, VB

CLR

Win32

NT Kernel

HTML, JSASP.NET

HTTP

C++, C#, VBJS, HTML

WinRT

Desktop Metro Web

x86 / x64 (Intel/AMD) ARM

Page 10: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Windows RunTime (WinRT)

• Is unmanaged• Lijkt (API) op CLR• Nadruk op asynchrone I/O• Vervanger/opvolger COM• Vervanger/opvolger WIN32

Page 11: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Windows 8 : WinRT

Windows Kernel Services

JavaScript(Chakra)C/C++ C#, VB

Metro style Apps

Communication & Data

Application Model

Devices & Printing

Windows Runtime APIsGraphics &

Media

XAML HTML / CSS

HTMLJavaScript

CC++

C#VB

Desktop Apps

Win32 .NET SL

Internet Explorer

Page 12: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Windows 8 : WinRT (V2)

Windows Kernel Services

JavaScript(Chakra)C/C++

C#, VB

Metro style Apps

Communication & Data

Application Model

Devices & Printing

Windows Runtime APIsGraphics &

Media

XAML HTML / CSS

HTMLJavaScript

CC++

C#VB

Desktop Apps

Win32 .NET SL

Internet Explorer

CLR 4.5

Page 13: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Metro style application APIs

DevicesSensorsGeolocation Portable NFC

Communications & DataContracts

XML

Web

SMSNetworking

Notifications

Local & Cloud Storage

Streams

Background Transfer

User InterfaceHTML5/CSS XAML DirectX Controls

Input Accessibility Printing

Data Binding

TilesSVG

FundamentalsApplication Services Authentication Cryptography GlobalizationMemory ManagementThreading/Timers

MediaVisual EffectsPlayback PlayToCapture

Page 14: Windows 8, door Henk Holterman op de 4DotNet Developers Day

The one-stop company for .NET development

Application lifetime

Running App

Suspended App

Suspending

Resuming

Terminated App

Low Memory

No Notification!

• The user’s view: Don’t close. Just leave.

5 seconds to save yourself

Page 15: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Fx 4.5

Page 16: Windows 8, door Henk Holterman op de 4DotNet Developers Day

C# and VB evolution

Managed Code

Generics

Language Integrated Query

Dynamic + Language Parity

C# 5.0 + VB 11.0Windows Runtime + Asynchrony

C# 1.0 + VB 7.0

C# 2.0 + VB 8.0

C# 3.0 + VB 9.0

C# 4.0 + VB 10.0

Page 17: Windows 8, door Henk Holterman op de 4DotNet Developers Day

The one-stop company for .NET development

What’s new?C# 5.0

• Windows Runtime support• Asynchronous programming• Caller info attributes

VB 11.0

• Windows Runtime support• Asynchronous programming• Caller info attributes• Iterators

Page 18: Windows 8, door Henk Holterman op de 4DotNet Developers Day

The one-stop company for .NET development

Asynchronous programming models

• Windows Runtime: IAsyncOperation<T>• .NET Framework: Task<T>• Javascript: Promises• All are objects representing “ongoing operations”• All use callbacks to signal completion of operation• Challenge: Callbacks turn your code inside out• Insight: Automatic transformation to callbacks is

possible

Page 19: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Asynchrony

Page 20: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Versie 1 : synchroon

static byte[] TryFetch(string url){  var client = new WebClient();  try  {    return client.DownloadData(url);  }  catch (WebException) { ... }  return null;}

Page 21: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Versie 2 : asynchroon met callbackstatic void TryFetchAsync(string url,  Action<byte[], Exception> callback){  var client = new WebClient();

  client.DownloadDataCompleted += (_, args) =>  {    if (args.Error == null) 

callback(args.Result, null);    else ...    };

  client.DownloadDataAsync(new Uri(url));}

1

3

2

Page 22: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Versie 3: async/awaitstatic async Task<byte[]> TryFetchAsync(string url)

{  var client = new WebClient();  try  {    return await client.DownloadDataTaskAsync(url);

  }  catch (WebException) { ... }  return null;}

Page 23: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Zelf proberen?

• Windows Developer Preview with developer tools English, 64-bit (x64) ISO, 4.8GB

• 64-bit Windows Developer Preview• Windows SDK for Metro style apps• Microsoft Visual Studio 11 Express for Windows

Developer Preview• Microsoft Expression Blend 5 Developer Preview• 28 Metro style apps including the BUILD Conference

app

Page 24: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Visual Studio 11

• Let op: .NET 4.5 vervangt 4.0• WPF designer: (subset van) Blend

Page 25: Windows 8, door Henk Holterman op de 4DotNet Developers Day

Virtuele installatie

• Functional:– Hyper-V in Windows 8 Developer Preview– Hyper-V in Windows Server 2008 R2– VMware Workstation 8.0 for Windows– VirtualBox 4.1.2 for Windows

• Non-functional:– Microsoft Virtual PC (all versions)– Microsoft Virtual Server (all versions)– Windows 7 XP Mode– VMWare Workstation 7.x or older

Page 26: Windows 8, door Henk Holterman op de 4DotNet Developers Day

the end