C++/WinRT
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 Kerr[1] en 2015 e incluidas como parte del Microsoft Windows SDK en la versión 10.0.17134.0 (Windows 10, versión 1803).
C++/WinRT | ||
---|---|---|
Parte de Windows App SDK | ||
Información general | ||
Tipo de programa | Biblioteca | |
Desarrollador | Kenny Kerr | |
Lanzamiento inicial | 23 de junio de 2015 (9 años, 6 meses y 11 días) | |
Licencia | Licencia MIT | |
Información técnica | ||
Programado en | C++ | |
Versiones | ||
Última versión estable | 2.0.230225.1 / 25 de febrero de 2023 (1 año, 10 meses y 7 días) () | |
Enlaces | ||
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
editarLas 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
editarUn 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
editarA 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
editarReferencias
editar- ↑ How Kenny Kerr Brought C++/WinRT to Microsoft MSDN Magazine