Windows 8 Development - Understanding the Terminology

01 June 2014

The first thing to understand about developing applications for Windows 8/8.1 is the terminology. While these types of applications have been around for some time, there is still confusion over the original Microsoft-internal code names and resulting product names. Since the community is not as established as other platforms, many of the blog entries you will find are older and still use the code names.

  • Metro/Metro-Style

    The term “Metro” currently refers to the style of the user interface for Windows 8 applications. However, this term can lead to confusion because it was originally the code name used for Windows 8/Phone applications.

  • Windows Store Applications

    As of late 2012, “Windows Store Application” is the official name for applications that were code named “Metro-Style Applications.”

  • Windows Run Time (Windows RT or WinRT)

    WinRT is the run time that windows store applications run under. It is somewhat of a subset of the .NET framework, but there are some oddities (e.g. reflection) that need to be worked around.

  • Windows Library for JavaScript (WinJS)

    WinJS is a Metro-Style JavaScript library made by Microsoft. It is open-source and works for both Windows Store applications and for the Web. Microsoft has recently launched try.buildwinjs.com, which gives information and examples on all of the various controls that it offers. The biggest thing to know about WinJS is that you are not required to use it for Windows Store applications! Based on all of the templates, examples, and documentation, it was not at all obvious to my team that WinJS was a separate entity.

Without knowing the terminology and some of the history behind them, it can be extremely difficult to search for documentation and understanding how to create your application. This area is definitely improving with time. Microsoft is putting out new and better documents, and people are starting to blog more about it. Here are some resources that can be helpful: