Skip to content
Carlos González edited this page Jan 24, 2019 · 26 revisions

Welcome to the Universal Windows Platform Languages wiki! Here you will find a beginner guide for creating apps using the existing samples/templates in the ten programming languages that can compile code to the Universal Windows Platform.

What is the UWP?

Universal Windows Platform is an open source API created by Microsoft. This platform was first introduced in Windows 8 as the Windows default app platform with the name of WinRT (later renamed to UWP). Its purpose is to allow developers to create apps that will potentially run on multiple Windows 10 types of devices (PC, Mobile, Xbox One, HoloLens, IoT, Hub) without the need to be re-written for each. UWP API replaces Win32 API as the default app platform.

Supported Programming Languages

  • C#: Developed around year 2000 by Microsoft within its .NET initiative, C Sharp is a general-purpose, multi-paradigm programming language with strong typing and it's imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented. It is included in Visual Studio with native UWP compiling and targeting.

  • C++: Designed around year 1985 by Bjarne Stroustrup, C Plus Plus is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation. It is included in Visual Studio with native UWP compiling and targeting.

  • VB.NET: Developed around year 2001 by Microsoft, Visual Basic (.NET) is a multi-paradigm, object-oriented programming language, implemented on the .NET Framework and it is the original Visual Basic language successor. It is included in Visual Studio with native UWP compiling and targeting.

  • JS: Developed around year 1995 by Netscape, Mozilla and Ecma, and designed by Brendan Eich, JavaScript is a high-level, interpreted programming language that conforms to the ECMAScript specification. It is characterized as dynamic, weakly typed, prototype-based and multi-paradigm. It is included in Visual Studio with native UWP compiling and targeting.

  • TS: Developed around year 2012 by Microsoft, TypeScript is an open-source programming language with multi-paradigm: scripting, object-oriented, structured, imperative, functional, and generic programming features. It is a strict syntactical superset of JavaScript, and adds optional static typing to the language. It is included in Visual Studio with native UWP compiling and targeting.

  • Obj-C: Designed around year 1984 by Tom Love and Brad Cox, Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. It is supported in Visual Studio with UWP compiling and targeting thanks to the Windows Bridge for iOS.

  • Java: Developed around year 1995 by Sun Microsystems (now owned by Oracle Corporation) and designed by James Gosling, Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is supported in Visual Studio with UWP compiling and targeting thanks to Codename One integration.

  • Swift: Developed around year 2014 by Apple Inc., Swift is a compiled programming language, Multi-paradigm: protocol-oriented, object-oriented, functional, imperative, and block structured. It is supported in Visual Studio with UWP compiling and targeting thanks to RemObjects Elements integration.

  • Python: Developed around year 1991 by Guido van Rossum, Python is an interpreted, high-level, general-purpose programming language. It is supported in Visual Studio with IoT UWP compiling and targeting thanks to CPython UWP integration.

  • Oxygene: Developed around year 2005 by RemObjects Software, Oxygene is an object-oriented programming language and provides language-level support for some features of parallel programming. It is supported in Visual Studio with UWP compiling and targeting thanks to RemObjects Elements integration.

SDK Versions

  • Windows 8: WinRT was first spotted on Windows 8 build 7850. Then, it would evolve with builds 7927, 8102, 8250 and 8400. The final release, build 9200, adds the first public WinRT release. This version was only available on Windows.
  • Windows 8.1: WinRT 8.1 added new features, which were released publicly on build 9600. Since the platform was made available on Windows Phone too, it's the first true universal platform version. This version is available since Windows 8.1 and Windows Phone 8.1.
  • Windows 10: UWP added loads of new APIs, features, windowing and UI, as well as compiling for ARM64 and support for more programming languages. It was first spotted on build 9926 and continued to evolve on builds 10080, 10240, 15063 and 16299, where the latest public build is 17763. This version is available on Windows 10 (PC, Mobile, IoT, Xbox One, HoloLens and Hub) and it's the current/latest one.

Requirements

  • For WinRT (W8+) app development: Visual Studio 2012, 2013 or 2015, OS: Windows 8/8.1/10.
  • For UWP (W10+) app development: Visual Studio 2015, 2017 or 2019, OS: Windows 10 or macOS Sierra.