BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

More Capabilities at a Higher Speed: WinJS 2.0

by Jeff Martin on Jul 18, 2013 |

The Windows Library for JavaScript (WinJS) debuted with Windows 8 to provide JavaScript developers an efficient way to create Windows Store apps.  Version 2.0 will be part of the Windows 8.1 launch, and Microsoft promises increased features as well as vastly improved performance which should be of benetfit to all users but particularly those running devices powered by ARM or Atom-based CPUs.

During “What’s New in WinJS?”, a Build presentation by Paul Gusmorino, details emerged on the scope of the changes that will be seen with WinJS 2.0.  Gusmorino listed several Win8.1 apps that have switched to 2.0, including Store, Music, and Skype among many others.

Looking at the design goals for WinJS 2.0, both developers and users will benefit from the inclusion of more user-interface patterns and improved speed.  The ListView control  in 2.0 is approximately 30% faster than in WinJS 1.0 (as reported on a Microsoft Surface.)  In Gusmorino’s demo, the Windows Mail app was used to exhibit the increased speed of the control, and it was visibly faster.

WinJS 2.0 At a Glance

Improved Controls

  • List view
  • App bar

Infrastructure

  • Scheduler
  • Dispose model
  • Async debugging

New Controls

  • Hub
  • Navigation bar
  • Search box
  • Back button

Building Blocks

  • Binding template
  • Repeater
  • Item Container

Interestingly for a touch-centric OS, the controls List view and App bar benefit from improved keyboard support.  List view will add support for a Vertical Grid and Grouped List Layouts providing additional flexibility when creating user interfaces.

Controls aren’t the only improvement, the internals of the library are receiving improvements as well.  Control cleanup is made easier with the use of the dispose() method which will remove a control and all of the outstanding references to it so garbage collection can function properly.  The dispose() method is also hierarchical in that a parent object with children objects can all be removed with a single dispose() call to the parent object.  Asynchronous debugging is made easier as the call stack is more informative as it shows a more comprehensive listing of the execution steps leading to the call of an asynchronous method.

For more information on the new and updated controls, check out the WinJS 2.0 preview documentation.

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

Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT