windows 8, door henk holterman op de 4dotnet developers day
DESCRIPTION
Windows 8, door Henk Holterman op de 4DotNet Developers DayTRANSCRIPT
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