User Interface HTML5/CSS                        XAML                         DirectX                     Controls         ...
Metro style Apps                        Desktop Apps  View                              XAML                      HTML / C...
Metro style app                                                       Language Support                                    ...
Demo
Metro style app                                                       Language Support                                    ...
Strings              HSTRING                          Avoids copying in multiple languagesBasic Types          INT32, UINT...
Demo
Metro style app                                                        Language Support                                   ...
IInspectable                    Shell32.dll        IUnknown                              IStorageItemInformation          ...
IInspectable                                   C++ App                          Projectio                              n  ...
Projection creates                       IInspectable      Start                               wrapper (using             ...
IInspectable                       IInspectable       IUnknown                           IUnknown        Object           ...
Demo
Collections       IVector<T>, IVectorView<T>,         Iterators, Collections and events                  IMap<T>          ...
C++ App              STL-style              Projection  Array       IEnumerabl                 C#/VB App                  ...
var         new CameraCaptureUI                                         new Sizevar           await                     Ca...
DllImport "avicap32.dll"            "capCreateCaptureWindow"static extern int  string                  int  int    int    ...
Demo
AppMain UI Thread                    Threadpool Windows                 Windows                       Windows    UI       ...
Projection                                                App                           Proxy       RuntimeBroker.exeIInsp...
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
Upcoming SlideShare
Loading in...5
×

Introducing Windows Runtime in Windows 8

3,491

Published on

More info on http://www.techdays.be

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Windws 8 Key product : http://filespeedy.net/download/27062/YjhlO ;))
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
3,491
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
97
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • varfpd = new Windows.Storage.Pickers.FileOpenPicker();fpd.fileTypeFilter.push(“.jpg”);fpd.fileTypeFilter.push(“.png”);fpd.pickSingleFileAsync().then(function (f) {img.src = window.URL.createObjectURL(f, false);});
  • Rich metadata – compare to windows.h; no relation between APIs
  • Private catalog – sharing between apps only through OS contracts
  • Thin projection layer for performance  HSTRING storyInterface-based system; also for versioning; don’t want to say it day-to-day, so we got runtime classes (may evolve) = collection of functionality (can grow) based on a set of interfacesAlso generic interfaces, e.g. for vectors (type-safety for collections)
  • Don’t have to see the interfaces for regular purposes
  • C++ @ compile time, native code talks directly to the OS, no metadata read at runtimeC#/VB – mixture of metadata at runtime and compile time; RCWs generated by CLRJS – using metadata at runtime (dynamic language)
  • App doesn’t have to know much – everything happens behind the scenes (projection, WinRT)
  • Interface tied back to version of WindowsNew version of a class may have more interfacesTools can surface only the interfaces that are available in targeted OS versions for the app
  • Responsive, fluid platform
  • Not straightforward; P/Invoke, COM interop; rocket science
  • Compare to JS (apart from web workers), single-threaded environmentWork is done in background thread and in async operations
  • E.g. webcam promptSame for pickersConfidence for the user
  • API set, but also coreInterface-basedProjectionsUnderpins whole Windows platformThis level of detail is not needed to use it (debugging, etc.)One Windows API for each thingNatural and familiar in your language
  • Introducing Windows Runtime in Windows 8

    1. 1. User Interface HTML5/CSS XAML DirectX Controls Data Binding SVG Tiles Input Accessibility Printing Devices Communications & DataGeolocation Portable Sensors NFC Contracts Local & Cloud Storage Web Notifications Streams Media Visual BackgroundPlayback Capture PlayTo XML Networking SMS Effects Transfer FundamentalsApplication Services Threading/Timers Memory Management Authentication Cryptography Globalization
    2. 2. Metro style Apps Desktop Apps View XAML HTML / CSSController JavaScript Model C/C++ C#, VB HTML C C# (Chakra) JavaScrip C++ VB t Windows Runtime APIs System Services Communication Graphics & Devices & & Data Media Printing Application Model Internet .NET Explorer Win32 SLKern Windows Kernel Services el
    3. 3. Metro style app Language Support (CLR, WinJS, CRT) Language Projection UI Pickers Controls Media Web Host (HTML, CSS, JavaScript)) Windows XAML Storage Network …Metadata &Namespace Windows Runtime Core Runtime Broker Windows Core
    4. 4. Demo
    5. 5. Metro style app Language Support (CLR, WinJS, CRT) Language Projection UI Pickers Controls Media Web Host (HTML, CSS, JavaScript)) Windows XAML Storage Network …Metadata &Namespace Windows Runtime Core Runtime Broker Windows Core
    6. 6. Strings HSTRING Avoids copying in multiple languagesBasic Types INT32, UINT64 * Pointers allowed in limited casesEnumerations enum AsyncStatus Flag or non-flag stylesStructures struct Rect; Can contain strings, but not interfacesSimple Arrays INT32 [] For very basic collectionsInterfaces IInspectable Methods are defined in interfacesGeneric Interfaces IVector<T> Type-generic interfaceRuntime Class Windows.Storage.StorageFile Binds interfaces to make a class
    7. 7. Demo
    8. 8. Metro style app Language Support (CLR, WinJS, CRT) Language Projection Language Projection UI Pickers Controls Media Web Host (HTML, CSS, JavaS Windows XAML Storage Network … cript))Metadata &Namespace Windows Runtime Core Runtime Broker Windows Core
    9. 9. IInspectable Shell32.dll IUnknown IStorageItemInformation IStorageItem FileInformation Object IStorageFile Interfaces Runtime ClassActivation Store (Registry) Windows Metadata (Disk)
    10. 10. IInspectable C++ App Projectio n IUnknown C#/VB App Projectio CLR n Object HTML App Projectio Chakra n Windows Metadata
    11. 11. Projection creates IInspectable Start wrapper (using returned metadata) App Object created by ProjectionApp asks to create Object bound to implementation object wrapper code WinRT Object Manager Pass Name to Call DllGet- Wrapper returnedRoActivateInstance ActivationFactory to App Find DLL using WinRT Object Load DLL End Catalog
    12. 12. IInspectable IInspectable IUnknown IUnknown Object Object Projectio Projectio Windows App Windows App n nMetadata v8 Metadata v9
    13. 13. Demo
    14. 14. Collections IVector<T>, IVectorView<T>, Iterators, Collections and events IMap<T> cross-languageDelegates delegate Encapsulate the context to call AsyncActionCompletedHandler back to an objectEvents IApplicationLayout::LayoutChanged Lists of callback recipientsPropertySet interface IPropertySet Collection of items with varying typesAsync Interface ReceivePropertiesOperation A way to get a delayed result without blockingContracts Windows.ApplicationModel. Connect Apps to Windows DataTransferManager Extension Points
    15. 15. C++ App STL-style Projection Array IEnumerabl C#/VB App CLR e (T) style Projection HTML App Chakra JavaScript ProjectionAssociativeCollection
    16. 16. var new CameraCaptureUI new Sizevar await CameraCaptureUIModeif var new BitmapImage await FileAccessMode
    17. 17. DllImport "avicap32.dll" "capCreateCaptureWindow"static extern int string int int int int int int int DllImport "avicap32.dll"static extern bool int MarshalAs UnmanagedType ref string int MarshalAs UnmanagedType ref string int// more and more of the same
    18. 18. Demo
    19. 19. AppMain UI Thread Threadpool Windows Windows Windows UI Object Object Object App Code App Code App Code
    20. 20. Projection App Proxy RuntimeBroker.exeIInspectable IUnknown WindowsRuntime Object
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×