Windows 8, door Henk Holterman op de 4DotNet Developers Day
-
Upload
hanneke-dotnet -
Category
Technology
-
view
444 -
download
3
description
Transcript of Windows 8, door Henk Holterman op de 4DotNet Developers Day
4DotNet Developers Day
Sessie over Windows 8, verzorgd door Henk Holterman.
Agenda
• Windows 8• Metro• Windows Runtime• .NET 4.5, C# 5, VS 11• Zelf proberen
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• …
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
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
Metro
van telefoon tot supermonitor
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
Interactie
• For the User: Charms • For the Developer: Contracts• Share– Targets: Twitter, Facebook, Mail, NotesTaker, … – Source: Almost everything
• Search • Picker• …
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
Windows RunTime (WinRT)
• Is unmanaged• Lijkt (API) op CLR• Nadruk op asynchrone I/O• Vervanger/opvolger COM• Vervanger/opvolger WIN32
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
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
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
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
Fx 4.5
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
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
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
Asynchrony
Versie 1 : synchroon
static byte[] TryFetch(string url){ var client = new WebClient(); try { return client.DownloadData(url); } catch (WebException) { ... } return null;}
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
Versie 3: async/awaitstatic async Task<byte[]> TryFetchAsync(string url)
{ var client = new WebClient(); try { return await client.DownloadDataTaskAsync(url);
} catch (WebException) { ... } return null;}
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
Visual Studio 11
• Let op: .NET 4.5 vervangt 4.0• WPF designer: (subset van) Blend
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
the end