Windows Runtime, или WinRT — модель программирования от Microsoft, являющаяся основой для разработки приложений в стиле Metro в операционной системе Windows 8. WinRT поддерживает разработку на C++ (обычно с использованием расширения языка Component Extensions, C++/CX), управляемых языках C# и VB.NET, Rust, а также JavaScript.
WinRT является API на основе технологии COM, что позволяет относительно легко обращаться к нему из различных языков программирования. Определения API хранятся в «.winmd» файлах, закодированных в формате метаданных ECMA 335, который используется в .NET с некоторыми изменениями. Этот общий формат метаданных позволяет значительно уменьшить накладные расходы при вызове WinRT из .NET-приложений по сравнению с вызовом неуправляемого кода (P/Invoke), имея при этом намного более простой синтаксис.What is the COM marshaling overhead in calling the WinRT API from C# ? Новый язык C++/CX (Component Extensions), который заимствует некоторые элементы синтаксиса из C++/CLI, позволяет создавать и использовать WinRT-компоненты с меньшим количеством видимой для программиста обвязки по сравнению с классическим программированием COM в C++, и в то же время накладывает меньше ограничений по сравнению с C++/CLI на смешение типов. Обычный C++ (с COM-специфичными требованиями) также может быть использован для программирования с компонентами WinRT. Это возможно с помощью новой библиотеки шаблонов Windows Runtime C++ Template Library (WRL), которая аналогична по своей цели тому, что библиотека ATL обеспечивает для COM. Документация MSDN, однако, рекомендует использовать C++/CX вместо WRL.
Примечания
Ссылки Документация по WinRT (предварительный просмотр) на Windows Dev Center Русскоязычный ресурс разработчиков WinRT
Литература
Категория:Windows API Категория:Windows 8 и 8.1 Категория:Технологии Windows