Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Preparing for Windows 8 and Metro
1. Preparing for Windows 8 and
Metro
Kevin E. Ford
Principal Consultant
Email: kevinf@magenic.com
2. Agenda
» Overview of Windows 8, Metro and WinRT
» Connecting to external services
» The importance of being asynchronous
» I heard something about the UX changing
» Dude, where’s my classes
» Exiting the application
» What are webmd files and why do I care
2
3. Overview of Windows 8, Metro and WinRT
» Windows 8, next version with three flavors
» Windows 8
» Windows 8 Pro
» Windows 8 RT (Atom)
» Metro – New style of application design for Windows 8 ONLY
development
» WinRT – Windows Runtime library for accessing system services and
resources
» Win32 still supported in Windows 8
» What does this mean for me?
» http://magenic.com/Portfolio/WhitePaperWindows8DevelopmentPlatfor
m.aspx
3
4. Connecting to External Web Services
» Work similar to it did previously
» Can create WinRT compatible types
» Currently no support for wsHTTPBinding
» Use BasicHTTPBinding
» All service references will be created with asynchronous definitions
4
5. The Importance of Being Asynchronous
» “Fast and Fluid”
» 50 MS
» How to make a method asynchronous?
» async keyword
» All asynchronous methods must return void, Task or Task<T>
» Asynchronous methods should be named with the suffix Async
» What is await and do you actually wait?
» Resumes on calling context
» How do I call a synchronous method asynchronously?
» await Task.Run(() => someObject.SomeSyncMethod());
5
6. I Heard Something About the UX Changing
» Metro
» Think bauhaus
» No Chrome!
» Full Screen
» Swipe Menus
» No Scroll bars, only scroll from left to right
» Tough Ready
» Dynamic tiles galore
» FAST AND FLUID
6
7. Dude, Where’s My Classes?
» New Windows Namespace
» What is in the new namespace?
» Internal windows services
» XAML
» Windows runtime types
7
8. Exiting the Application
» Well you don’t, at least how you did before
» If you include specific close logic it will not pass market certification
» Suspending
» Use Application Data
» Needs to happen within 5 seconds
» May be terminated later without warning!
» Timing issues between
suspending and resuming
8
9. What are webmd Files and Why do I Care
» Create libraries that can be used by
» .Net Metro applications
» C++ Meto applications
» HTML5/JS Metro applications
» Restrictions for public types/members
» Can only expose windows runtime types
» Structures can only contain public fields
» Inheritance only on XAML controls, all else must be sealed
» Only support system provided generic types
9