1. Windows Runtime
2012년 Windows 8에서 처음 나온 API 셋(set)으로, 모바일 환경에 대응하기 위하여 만들어졌다. 모든 WinRT API는 C++로 작성되었으며, 이는 수십 년 전에 만들어진 Win32 API가 C언어로 작성되어 객체 지향 프로그래밍이 힘들었던 단점을 해결했다. 물론 MFC라는 C++ 래퍼가 나오긴 했지만 이것도 버려진 지 10년이 넘어 쓸 때마다 사람 미치게 만든다. 또한 C++로 작성되어 있다는 것은 모든 WinRT API가 네이티브 런타임이라는 것이고, 이는 속도와 전력 소모에 이득이 되는 구조이다.WinRT API는 다음과 같은 구조로 되어 있으며, 네이티브 개발자를 위해 C/C++를 지원하고, 닷넷 개발자를 위해 C#/Visual Basic, 웹 개발자를 위하여 JavaScript로 프로그래밍을 할 수 있는, 여러 언어를 지원하는 런타임 API이다. 또한, 자주 쓰는 코드를 Windows Runrtime Library(줄여서 WRL)라는 라이브러리로 만들면, 라이브러리를 만든 언어와 상관없이 C++, C#, Visual Basic, JavaScript 모두 호출할 수 있다. 예를 들어 C++로 만들어진 라이브러리를 포함시킨 후 여기 안의 C++ 함수를 JavaScript로 호출할 수 있다. 또한, Windows RT 출시와 함께 모바일에서 강세를 보이는 ARM을 지원한다. 모든 Windows Runtime 앱은 마이크로소프트 스토어(구 Windows 스토어)에서만 배포할 수 있다. 이는 iOS와 같은 정책이다. 모바일에서도 빠르게 돌리기 위해 UI 스레드와 논-UI 스레드가 분리되어 있고, NT 커널은 항상 UI 스레드를 최우선으로 돌린다. 그리고 처리 시간이 50ms가 넘어가는 모든 WinRT 함수는 비동기식으로 "강제로" 쓰게 하여 멀티스레드 코딩을 강제한다.
Windows 8 출시 때에는 Windows Rumtime 앱을 Windows 8/RT에만 쓸 수 있고, Windows Phone 8에는 종전의 실버라이트 기술을 써야 했다. 하지만 Windows 8.1/Windows Phone 8.1이 나온 후에 대부분의 로직 코드를 공유하면서 UI만 재설계하면 된다. 이는 두 OS의 커널이 같기 때문에 API의 상당부분을 공유할 수 있기 때문이다.
2015년 Windows 10이 출시된 이후 WinRT가 Universal Windows Platform으로 대체되면서 존속되고 있다.