A component of Microsoft Windows | |
---|---|
Details | |
Other names | WinRT |
Type | Application programming interface |
Included with | Windows Server 2012, Windows 8, Windows RT, Windows 8.1, Windows Server 2012 R2, Windows 10, Windows Server 2016 |
Related components | |
Windows Store, Windows API |
Windows Runtime (WinRT), is a platform-homogeneous application architecture first introduced in Windows 8 and Windows Server 2012 in 2012. WinRT supports development in C++/CX (Component Extensions, a language based on C++), JavaScript-TypeScript, and the managed code languages C# and Visual Basic .NET (VB.NET). WinRT applications natively support both the x86 and ARM processors, and run inside a sandboxed environment to allow greater security and stability. WinRT components are designed with interoperability between multiple languages and APIs in mind, including native, managed and scripting languages.
Windows Phone 8.1 uses a version of the Windows Runtime named the Windows Phone Runtime. It enables developing applications in C# and VB.NET, and Windows Runtime components in C++/CX.
WinRT is implemented in the programming language C++ and is object-oriented by design. Its predecessor, Windows API (Win32 API) is written mostly in the language C. It is an unmanaged code application programming interface (API) based on Component Object Model (COM) that allows interfacing from multiple languages, as does COM. However, the API definitions are stored in .winmd
files, which are encoded in ECMA 335 metadata format, which .NET Framework also uses with a few modifications. This common metadata format allows significantly less overhead when invoking WinRT from .NET applications, relative to P/Invoke, and much simpler syntax.