Microsoft Makes WinJS Cross-Platform And Open Source

Today Microsoft has open sourced the code of the Windows Library for JavaScript (WinJS).  It is being released under the Apache 2.0 license as an Open Source project by Microsoft Open Technologies (MS Open Tech). The source code is available now on GitHub where developers provide feedback, and submit contributions.

Additionally, WinJS is taking its first steps to becoming cross-platform by supporting browsers and other devices.

For those unfamiliar with WinJS here is some background from Microsoft program manager Maria Kang:

WinJS is a JavaScript library that was first created for Windows 8 to enable first class, native-quality experiences in Windows Runtime apps using familiar web technologies like HTML, CSS, and JavaScript. The first version of WinJS provided high-quality infrastructure including page controls, promises, and data-binding. It also offered polished UI capabilities like virtualized collections and high performance controls such as ListViewFlipView, and semantic zoom.

WinJS 2.0 was introduced with Windows 8.1 and added new UX patterns like the Hub control, and optimized performance for greater flexibility for designers and developers.

WinJS was initially focused on native Windows Runtime apps, but began to focus on other platforms by debuting in the Xbox One apps, adapting to the Xbox look and feel, and allowing new inputs like voice using Kinect.

Continuing in this spirit, the library has been extended to smaller and more mobile devices with the release of WinJS 2.1 for Windows Phone 8.1.

Microsoft is focused on making WinJS more cross-platform.  For the next version of WinJS the team is focused on supporting for popular frameworks like Angular and Knockout, as well as other tools, libraries, and solutions that popular today. Some work that is already in progress:

  • The WinJS is now hosted on GitHub
  • The WinJS build infrastructure has been moved over to leverage Grunt
  • CSS files are now being generated with LESS CSS
  • Unit tests are runnable using QUnit

Source: Microsoft