Windows 8 Hot or Not

3,218 views

Published on

Windows 8 as seen by developer. Overview of Metro style app development.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Windows 8 Hot or Not

  1. 1. Windows 8Hot or Not Piotr Włodek
  2. 2. AgendaMetro Charms Contracts WinRT App ExecutionMotion Summary Environment
  3. 3. Metro UI
  4. 4. Metro Design
  5. 5. Metro Design• Typography• Motion• Content not Chrome
  6. 6. Photoshop METRO’ified
  7. 7. Notification• Tile notification – Square or wide – Badge (number or glypth)• Toast notification – Standard toast, 7 sec (e-mail, IM, social media) – Long duration toast, 30 sec (person waiting)• Push notification – Windows Push Notification Services
  8. 8. WIN 8 LOOK’N’FEEL
  9. 9. Charms• Search• Share• Start• Devices• Settings
  10. 10. Contracts• Web of Applications –Sharing Contract –Picker Contract –Search Contract –More!
  11. 11. What is Windows Runtime ?• OO API for writing Metro style applications• Written in native C++• Tuned for performance• Supports type reflection through metadata• Supports many languages though projections• Part of Windows, build each time OS is compiled
  12. 12. Language Support• 29 apps in total• In Dev Preview: C# XAML 5 apps – 75% JS, C++ DirectX 2 – 17% C#, apps – 8% C++ JS HTML 22 apps
  13. 13. Windows Runtime
  14. 14. Is .NET dead ?
  15. 15. .NET Framework 4.5• Preinstalled in Windows 8• No support for Windows XP
  16. 16. WinRT vs Silverlight• Type comparison 1582 WinRT 4396 SL5 607
  17. 17. WinRT vs Silverlight• Member 4222 comparison WinRT SL5 10375 651
  18. 18. .NET Metro Profile• Subset of Client Profile• No Remoting• No System.Data• No System.Web• No server side WCF• No private reflection, no Emit• Some API only in async version
  19. 19. DEMO – METRO IN C++
  20. 20. What is included in WinRT ?
  21. 21. Windows::UI• Comparable set to Silverlight• Lots of new controls: – WebView – MediaElement – MediaPlayer – GridView – FlipView – ApplicationBar
  22. 22. Windows::UI:Input• Gone – Mouse events – Touch events – Stylus events• Still There – Keyboard events – Manipulation events• New – Pointer events – Tap, DoubleTab, RightTap
  23. 23. Windows::UI::Media::Animations::Transition• Transitions for UIElement, Panel, ContentControl, and ItemsControl – Entrance Transition – Reposition Transition – Reorder Transition – AddDelete Transitions – Content Transitions
  24. 24. Windows::Storage::Pickers• 2 types of pickers: – File Picker – Folder Picker• Your app can show its content in either of these pickers
  25. 25. DEMO – METRO IN C#
  26. 26. Custom WinRT objects• Share objects across all languages• Languages – C++/CX : speed – C#/VB : Ease of use• Restrictions apply – Sealed classes – Exposed through an interface – Public API can only expose WinRT objects
  27. 27. DEMO – WINRT OBJECT IN C#
  28. 28. Application Execution Environment Your App Direct API calls WinRT App.exe APIs OS Brokered Broker API callsApp Container +Signed & verified code
  29. 29. Process state transition Running Suspending Suspended App Resuming App Terminated App
  30. 30. What is not supported ? • No { DynamicResource }• Poor WritableBitmap• Poor data binding• No default implementation for IObservableVector<T>• 2 manifestations of INPC• No overlapping windows (no MessageBox)
  31. 31. Common pitfals • Code behind namespaces• XAML namespaces• DP Custom controls and styles•xmlns:views=”using:My.Custom.Views”• ObservableCollection
  32. 32. Getting Windows 8 Dev Prev• Windows 8 Developer Preview with developer tools English, 64-bit (x64) – 4.8 GB – DVD dual layer or pendrive 8GB – VS 2011 Express – Blend 5 Preview (Works only with HTML5/CSS)• Windows 8 Developer Preview English, 64-bit• Windows 8 Developer Preview English, 32-bit• Visual Studio 2011 Ultimate Dev Prev
  33. 33. Reference• MSDN Metro Guide: – http://msdn.microsoft.com/en-us/windows/apps• Building Windows 8 Blog: – http://blogs.msdn.com/b/b8/• BUILD Videos: – http://www.buildwindows.com/• WinRT Transitions – http://bit.ly/vZU4fd• WinRT vs SL5 comparison – http://bit.ly/spEtNE
  34. 34. Piotr Włodek  mail: piotr.wlodek@gmail.com  blog: http://pwlodek.blogspot.com  twitter: @pwlodek

×