Enyo 2.2: Even More Platforms, List Madness

After a lot of work over the last few months, we’re pleased to announce the release of Enyo 2.2! This time around, we’ve been focusing on two major areas.

Windows 8, Windows Phone 8 and BlackBerry 10

First up is new platform support — as of Enyo 2.2, Windows 8, Windows Phone 8 and BlackBerry 10 have all been added to our Tier 1 Platform list.

We’ve supported IE 10 on Windows 8 and Windows Phone 8 for a while now, but beginning with 2.2 you can also package your Enyo apps as Windows Store apps for distribution and installation on those platforms.

In the case of Windows 8, you can use Visual Studio (with or without Cordova) to package your Windows Store apps. We have documentation on this at Enyo Apps on Windows 8.

Packaging Enyo apps for Windows Phone 8 and BlackBerry 10 is like packaging for other mobile platforms — you’ll need a native app container to run in, and we recommend that you use Cordova. Some specific notes on deploying your apps to Windows Phone 8 have been added to our Platform-Specific Deployment docs.

Lists That Go This Way and That

The second headline for Enyo 2.2 is a big revamp of our infinite-scrolling list widget. enyo.List now supports drag-and-drop reordering, as well as “swipeable items”.

With reordering enabled, users can “grab” any list item with a long touch (or long click) and then simply drag it to a new position. We also now support swiping left or right on a list element. Depending on your needs, you might use a swipe to trigger item deletion or to put an item in a mode where additional actions can be performed.

Both reordering and swiping are highly customizable — for details, see the updated API docs for enyo.List.

To see the new list features in action, check out this sample.

And More…

Like previous releases, Enyo 2.2 also includes a host of smaller enhancements and fixes. A few examples:

  • Onyx now has a ContextualPopup widget that’s bound to the location of another control, with some smart positioning logic to make the most of the available space. You can try it out here.
  • The Enyo XmlHttpRequest code has been updated to address some issues and enable a broader set of use cases in IE.
  • In the “work-in-progress” category, Enyo 2.2 also introduces a new scroll strategy. enyo.TransitionScrollStrategy works much like enyo.TouchScrollStrategy but uses CSS animation rather than JavaScript to update the properties of the scrolled region. It looks like this new strategy will yield faster scrolling on many platforms, but there are still some kinks to work out. We’re not yet using TransitionScrollStrategy in any of our widgets or samples and don’t recommend that you use it for production work, but feel free to give it a try if you’re feeling adventurous.

For a full set of changes, see our Enyo 2.2 Release Notes.

What’s Next

As you may know, we’ve been hard at work on a data-binding and MV* solution that works with the Enyo component model but also allows interoperability with other libraries like Backbone.js. That work is currently on separate branches, but will be merged into our master branch very soon.