Microsoft WinJS 3.0 Now Supports Multiple Platforms

| by Abel Avram Follow 11 Followers on Sep 18, 2014. Estimated reading time: 2 minutes |

Microsoft has enhanced WinJS by adding support for multiple platforms and several major browsers, has modularized it and made it work with other JavaScript libraries.

WinJS 3.0 brings a number of new features, the most important being support for multiple platforms, including Android and iOS, and browsers – Chrome, Firefox, Safari, and Android Browser. The following table shows what’s currently supported and where:


As it can be seen from the table above, a number of important browser-platform combinations are still not covered, the most notable being Chrome/KitKat. It is also possible that some combinations will never be supported such as Safari on Windows. The WinJS Tests Status page shows exactly what tests do not pass on what platform and why, and is being updated several times a day.

If initially WinJS was one big library, now it has been divided into several dozens of modules which can be combined and packed together as desired based on developer’s needs. WinJS can be used in conjunction with other JavaScript libraries or frameworks, including Apache Cordova.

WinJS, or Windows Library for JavaScript, started as a library for web developers writing applications in HTML and JavaScript for Windows 8. Microsoft decided later to extend it to Xbox and Windows Phone, then make it a cross-platform and cross-browser toolkit, targeting almost everything. And the Try WinJS website shows that they are almost there. There are minor issues here and there, but it mostly works.

According to the roadmap, the next step is to “finish and polish work around browsers … consolidating the versions of WinJS that already exist, and focusing on WinJS uses on devices.” Then comes SPA utilities, new UI controls, and better interoperability with other JavaScript utilities, the attention being on TypeScript, Cordova, Web Components, and ECMAScript 6.

One of the unknowns is why would Microsoft propose a JavaScript library that carries with it the Don’t-call-it-Metro interface? Who is going to use it on iOS or Android instead of their respective native interfaces? Tim Anderson, a free lance journalist, thinks that Microsoft itself might be interested in writing such applications:

The messaging from the company, especially since CEO Satya Nadella took over from Windows guy Steve Ballmer, is “any device”, provided of course that they hook up to Microsoft’s services. That messaging is intended for developers outside the company too. Check out the current campaign for Microsoft Azure, which says “consume on any device”.

Also, Anderson believes this may make sense for some enterprise apps:

There could be cases though, for example for internal business apps where users care most about functionality. What is the current stock? What is the lead time? Show me this customer’s order history. A WinJS app might not look right for the platform, but the UI will be touch-friendly, and ease of rollout across the major mobile platforms could trump Apple’s design guidelines.

Whatever the reason behind it, WinJS is an open source rich library that targets multiple platforms. It remains to see if developers will adopt it. The source code is available on GitHub.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you