Windows Runtime

Windows Runtime, или WinRT — модель программирования от Microsoft, являющаяся основой для разработки приложений в стиле Metro в операционной системе Windows 8[1][2]. WinRT поддерживает разработку на C++ (обычно с использованием расширения языка Component Extensions, C++/CX), управляемых языках C# и VB.NET, Rust[3], а также JavaScript.

WinRT по существу является API на основе технологии COM. Из-за своей COM-подобной основы WinRT позволяет относительно легко обращаться к нему из различных языков программирования, как это происходит в COM, но это, по существу, неуправляемый, родной API. Определения API хранятся в «.winmd» файлах, закодированных в формате метаданных ECMA 335, который используется в .NET с некоторыми изменениями.[4] Этот общий формат метаданных позволяет значительно уменьшить накладные расходы при вызове WinRT из .NET приложений по сравнению с P/Invoke, имея при этом намного более простой синтаксис.[5] Новый язык C++/CX (Component Extensions), который заимствует некоторые элементы синтаксиса из C++/CLI, позволяет создавать и использовать WinRT-компоненты с меньшим количеством видимой для программиста обвязки по сравнению с классическим программированием COM в C++, и в то же время накладывает меньше ограничений по сравнению с C++/CLI на смешение типов. Обычный С++ (с COM-специфичными требованиями) также может быть использован для программирования с компонентами WinRT.[6] Это возможно с помощью новой библиотеки шаблонов Windows Runtime C++ Template Library (WRL), которая аналогична по своей цели тому, что библиотека ATL обеспечивает для COM.[7] Документация MSDN однако рекомендует использовать C++/CX вместо WRL.[8]

Примечания

Ссылки

Литература

  • Джеффри Рихтер, Мартен ван де Боспурт. WinRT: программирование на C# для профессионалов = Windows Runtime via C#. М.: «Вильямс», 2014. — 368 с. — ISBN 978-5-8459-1910-6.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.