Download presentation
Presentation is loading. Please wait.
Published byBrianne Curtis Modified over 9 years ago
1
Building Windows Runtime Components in C++ Harry Pierson Program Manager, Windows Runtime Experience Team Microsoft Corporation
2
The new API surface area in Windows 8 that’s available to C++, JavaScript, C# and Visual Basic. What is the “Windows Runtime”?
3
Windows 8 Platform Metro style Apps HTML JavaScript C C++ C# VB Desktop Apps Win32.NET / SL Internet Explorer Communication & Data Application Model Devices & Printing WinRT APIs Graphics & Media System Services JavaScript (Chakra) C C++ C# VB XAMLHTML / CSS View Model Controller Windows Core OS Services Core
4
The new API surface area in Windows 8 that’s available to C++, JavaScript, C# and Visual Basic. The low-level system infrastructure that enables language projection of APIs. What is the “Windows Runtime”?
5
You can leverage the Windows Runtime in order to build your own APIs that project into C++, JavaScript, C# and VB.
6
Language Projection WinRTC++JSC#/VB
7
WinRT Component Authoring Choices C# / VBC++/CX C++ with WRL
9
C++ WinRT Components Reasons Performance Battery Efficiency Decompilation Protection Access to Win32 Existing Code
10
C++ Hybrid App Scenarios HTML/JS Front End C++ WinRT Components C#/VB Front End C++ WinRT Components C++ Front End C#/VB WinRT Components
11
demo Building C++/cx WinRT Components
12
WinRT Component Tips and Tricks
13
WinRT is a marshaling boundary. Favor course-grained APIs over fine- grained.
14
Marshaling Example: Array vs. Vector
15
WinRT only provides async methods for all potentially long running operations. Favor async methods and use PPL to implement them.
16
Async Example
17
WinRT doesn’t allow UI updates from background threads. Use CoreDispatcher to fire events on the correct thread
18
Event Firing Example
19
Leverage the WinRT Infrastructure of Windows 8 Build WinRT Components that can be used in C++, JavaScript, C# & VB apps. Be mindful of threading and marshaling boundaries.
20
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.