In this article

Here are key resources to help you get started with using C++ (including Visual C++ component extensions (C++/CX)) to develop Windows Runtime apps. This is not a comprehensive list of all of the features or available resources. Some topics listed below are specific to C++, and some are not specific to any single programming language. You can bookmark this page so that you can come back to it when you want to learn how to add another feature to your app.

Get started

What kind of app should you make? How do you plan for different devices? How can you monetize your app? Make the right decisions during the planning phase to simplify deployment and maximize your app's potential.

Network programming with C++

The C++ REST SDK provides support for accessing REST services from native code by providing asynchronous C++ bindings to HTTP, JSON, and URIs. It ships with Visual Studio as an extension SDK to help you write cross-platform C++ HTTP client side code in your Windows Runtime apps as well as desktop apps.

This section explains how you can activate, suspend, and resume your Windows Runtime app in response to the normal app lifecycle events, file and protocol associations, and AutoPlay events. This is a must for most apps.

At the very least you need a tile to allow users to open your Windows Runtime apps. In addition, you can increase the utility and visibility of your app by using notifications and creating "live tiles".

Make your app accessible. A Windows Runtime app with a XAML UI can provide app-specific information that is reported to any Microsoft UI Automation client. This includes common assistive technologies such as screen readers.

Working with data

Bind a control to a single item or bind a list control to a collection of items. This can be used for displaying data, such as stock prices or headlines, in controls. For detailed info, see Data binding with XAML.

Great apps make it easy for users to share what they are doing with their friends and family. Apps that support the Share contract can automatically share content to and from any other app that also supports the Share contract.

Learn how to how to set network capabilities required for network access, how to handle network connections as background tasks, and how to secure and troubleshoot network connections for a Windows Runtime app.

The programming model for Windows Runtime apps using C#/VB/C++

This topic provides a full overview on the XAML markup language as it is used by the Windows Runtime, and links to related reference and conceptual material such as how to use each XAML markup extension, and how to use XAML names.

The Windows Runtime includes many asynchronous APIs, for example methods of MediaCapture and StorageFile, so that your app remains responsive when it accesses functionality that might take an extended amount of time. Your app can remain responsive because large operations can complete asynchronously while the main thread execution continues. Most of the asynchronous APIs don't have synchronous counterparts, so you need to be sure to understand how to use the asynchronous APIs with C# or Microsoft Visual Basic in your Windows Runtime app.

Storyboarded animations are custom animations that target dependency property values and change them over time. This isn't just for traditional visually oriented animations, it's also a way to implement app states and add run-time behavior.

Key-frame animations are type of storyboarded animation that can set intermediate values along a timeline using a key-frame metaphor. Easing functions are a way to change the interpolation of values while the animation runs. These are both useful for defining a more advanced style of animation than is possible with either a simple storyboarded animation or the animation library.

Visual states are a technique for applying sets of property changes that are in response to a known state of a control, page, or other part of your app. You use storyboarded animations to define visual states, and there are best practices you should follow when you use storyboarded animations for a visual state.

API reference

Here are the key APIs that are supported in Windows Runtime apps that use C++/CX.

If you are familiar with platforms like Microsoft Silverlight, many of these APIs may be familiar. (They have "XAML" in the namespace name.) The Windows Runtime is made up of native APIs that are built into the operating system. The Windows Runtime API is fundamental to Windows Runtime app programming. It's implemented in C++ and supported in JavaScript, C#, Visual Basic, and C++/CX.