C++/WinRT es una librería en C++ estándar (C++17) que permite el acceso a la plataforma Windows Runtime y las nuevas APIs de Windows. Fueron creadas originalmente por Kenny KerrHow Kenny Kerr Brought C++/WinRT to Microsoft MSDN Magazine en 2015 e incluidas como parte del Microsoft Windows SDK en la versión 10.0.17134.0 (Windows 10, versión 1803).

Estas librerías son la manera recomendada por Microsoft para consumir y acceder a las APIs de Windows Runtime en C++, sustituyendo así tanto a las librerías Windows Runtime C++ Template Library (WRL), como a la extensión del lenguaje C++/CX.

Introducción

Las APIs de programación de WinRT (Windows Runtime) están basadas en COM (Component Object Model) y han sido diseñadas para ser consumidas a través de proyecciones en distintos lenguajes (p.e. C# o Javascript). El objetivo de cada proyección es ocultar los detalles de COM y proporcionar una experiencia de programación más natural adaptada a cada lenguaje y sus características.

Las librerías C++/WinRT son una proyección al lenguaje C++ (concretamente C++17). Están implementadas como librerías basadas en ficheros de cabecera (.h) y diseñadas para poder acceder y consumir las APIs de Windows Runtime usando cualquier compilador compatible con C++17.

Programa Hola mundo

Un programa mínimo de ejemplo Hola mundo escrito en C++/WinRT podría ser el siguiente:

// main.cpp #include <winrt/Windows.Foundation.h>

using namespace winrt; using namespace Windows::Foundation;

int main() { winrt::init_apartment(); Uri contosoUri{ L"http://www.contoso.com" }; Uri combinedUri = contosoUri.CombineUri(L"products"); }

Como puede verse, se trata de código C++ estándar, en el que se utilizan de manera directa tanto tipos como funciones de la API de Windows Runtime.

Escenarios de uso

A la hora de desarrollar aplicaciones, tres son los principales escenarios con los que podemos sacar ventaja del uso de C++/WinRT:

Consumir APIs y tipos de Windows Runtime Producir APIs y tipos de Windows Runtime Desarrollo de aplicaciones XAML

Véase también Windows Runtime C++/CX

Referencias

Enlaces externos

Repositorio oficial de C++/WinRT Documentación oficial de C++/WinRT | Microsoft Docs Kenny Kerr's blog

Categoría:Bibliotecas de C++ Categoría:Interfaces de programación de aplicaciones Categoría:Microsoft Categoría:Software libre y de código abierto