Last June at Build 2013 Paul Gusmorino spoke about WinJS 2.0 and the speed improvements that it introduced. This past week at Build 2014 he returned to discuss WinJS 2.1 and where the library is headed next. The Windows Library for JavaScript (WinJS) is intended to be an effective way to build applications using HTML, CSS, and JavaScript. Originally created by Microsoft, its capabilities are not limited to the Windows platform.
Joining the major push by Microsoft to release several of its technologies under open source licenses, Gusmorino announced that WinJS is now licensed under the Apache license with the project hosted on GitHub. Microsoft’s hope is that this will allow WinJS to be a common library usable on all modern devices and browsers without requiring massive rewrites. Alongside this outreach, WinJS 2.1 has been released to support Windows Phone 8.1. For the Microsoft stack this means that there are currently 3 variants of WinJS in use across Xbox, Windows Phone, and Windows 8 apps. Gusmorino indicated that unifying these 3 platforms is a goal set for 2015 under WinJS 3.0. The project has produced a road map indicating their next steps for the release.
WinJS Project Goals
- Deliver true app experience
- Build with native experience
- Enable shared code across devices
- Contribute to the community new material -- “not deliver Microsoft’s version of something that you already have”
- Maintain and increase modularity
Examples of WinJS in action are available at Try WinJS, which includes demos with code for all of the controls in the library. Microsoft maintains a separate project page which is a useful companion to the GitHub page for Windows-based developers. Preparing WinJS for Windows Phone brought about a few changes intended to provide for a better phone experience. The Pivot control was added, and several controls were improved. These changes included performance, and accessibility.