Win8 Dictionary
This is an attempt to reduce confusion about the new terms introduced with the release of Windows 8 in various modes, for various architectures and various restrictions.
Contents
Windows 8
The version of Windows NT named 6.2 released at the end of 2012.
It has a small kernel evolution from Windows 7, but the big addition of the Modern Interface mode.
It runs on x86 and x86(64bits) hardware.
Windows RT
This is the port of Windows 8 on various ARM platforms.
A contrario from what people say, Windows RT has both a "Metro" and a "Desktop" mode and can run Office.
Windows RT has Win32 APIs too.
No Desktop 3rd party applications are allowed on Windows RT (enforced by the UEFI).
NB: Windows RT is not technically a RunTime.
NB: Not to be confused with WinRT.
Windows on ARM
Synonym for Windows RT.
Windows Blue
Windows 8(+1).
Small update on Windows 8, after a short development cycle.
Will be released in Summer 2013.
It will deprecate some Win32 and WinRT APIs and add new ones.
WP7 / WP 7.5 / 7.8
Windows Phone 7 is an OS for mobile phones that is based on the Windows CE kernel.
Microsoft only allows Managed applications from 3rd parties. Therefore, no VLC for WP7 will exist.
WP8
Short for Windows Phone 8, WP8 is quite far from WP7, under the hood.
WP8 is based on a Windows NT kernel, very likely the one from Win8.
It has most of the same WinRT APIs, and most Win32 APIs too.
Win32
The evolving set of APIs and runtime available since Windows 3.11 and still changing these days.
Windows NT 64bits is almost compatible with Win32 and Windows CE was partly compatible with Win32 APIs.
On 64bits, Windows NT uses the LLP64 model for pointers! Be careful if you are a Unix developer.
WinRT
WinRT also called Windows Runtime, is the set of APIs to develop "Modern" applications.
All those are essentially a COM-based set of APIs.
It is not really a Runtime, since the runtime is still Win32.
To make the matter more confusing, most (if not all?) APIs from WinRT are usable from classic Win32 applications.
WinRT APIs is a moving target, depending on the version of Windows applications are run (the family).
NB: Not to be confused with Windows RT.
C++/CX (Component Extensions)
C++/CX (Component Extensions) is a language extension of C++11 from Microsoft that enables C++ programmers to write programs for the new Windows Runtime platform, or WinRT. It makes COM interop with C# transparent.
Metro Applications
Metro applications, Modern UI style apps or Windows Store apps are applications that are run integrated in the new Modern interface.
They are only available through the store or can be side-loaded.
They can use:
- WinRT COM APIs
- A subset of Win32 authorized by Microsoft.
Those APIs are supposed to be non-blocking and sandboxable.
As WinRT is not totally new runtime, the check that only the correct APIs are called is done during the Store submission, using WACK, and not at runtime.
Metro (Screen)
The new start/smart screen is what used to be called Metro.
It is a "Modern Experience screen", based on tiles, from which you can start "Modern applications".
Metro (language)
This is a designer style/visual language that Microsoft is pushing for the new "Modern UI".
Desktop
The Windows interface as we know it since Windows 3.11 until Windows 7.
Desktop Applications
Those are classic applications like VLC media player that use Win32 APIs, HWND, and COM-based APIs (including WinRT APIs).