Microsoft has released a preview of WinJS 4.0, its open-source, cross-platform Windows library for JavaScript.

The WinJS 4.0 release will be focused on the framework’s universal app, interoperability, and in-class ListView capabilities. The Windows App Team detailed all the new features to come in WinJS 4.0 in a blog post. The most significant details include:

  • Universal app controls: Added key controls create shortcuts for developers to code universal app experiences that work across various screen sizes, aspect ratios and input types.
  • Angular interoperability: Microsoft has developed a new AngularJS-WinJS wrapper to improve compatibility with the framework, including using WinJS controls as Angular directives and integrating Angular two-way data binding.
  • ListView: ListView in WinJS 4.0 streamlines interaction options for developers, and adds a variety of new features and functionality updates, including an improved interaction model redefining Single, Multi, Extended and Read-Only selection scenarios, and striping capabilities and progressive loading with new ListView footers.
  • WinJS SplitView: An adaptive layout with a navigation pane and content area within the dashboard to adapt app configurations to different screen sizes, and to model the app on phones, tablets and PCs.
  • WinJS Toolbar: New ToolBar responsive command surface to build apps for unique form factors, controlling for application scalability and content overflow.
  • Content dialog: The new WinJS Content Dialog control adapts to screen size and position, hosts arbitrary content, and moves through options with the tab key.
  • XYFocus: The new XYFocus feature enables arbitrary HTML element navigation, supporting gamepad-style movement within WinJS and allowing for key remapping in a given app.
  • Pivot control: Update to pivot app navigation adds visual improvements and new adaptive headers along with expanded touch capabilities.

WinJS 4.0 will be widely available later in 2015. More details about the Windows JavaScript library can be found on GitHub.