YUI 3.2.0 Released: SimpleYUI, Touch Event Support, Gestures, Transitions, CSS Grids, ScrollView, Uploader, and More

By YUI TeamSeptember 7, 2010

The YUI team is pleased to announce the GA release of YUI 3.2.0, a significant update to YUI's JavaScript and CSS components. This release features a host of performance improvements and major new support for mobile devices with touch UIs.

Intrinsic touch support in YUI 3.2.0 brings touch support to a wide range of YUI-powered interactions, including Drag and Drop and Slider.
The Gesture module in YUI 3.2.0 brings touch support to a wide range of YUI-powered interactions, including Drag and Drop and Slider.

There are two ways to get started with the new release:

  • Use from the CDN: YUI 3.2.0 is available on the Yahoo! CDN via the 3.2.0 version tag — so you can reference the new release content via filepaths like http://yui.yahooapis.com/3.2.0/build/yui/yui-min.js. Switch to the seed file for the new release and all subsequent use() statements will load YUI 3.2.0.
  • Download the release: Download YUI 3.2.0 from YUILibrary.com, including source code and examples for all components — including those new to this release.
  • Explore the examples: YUI examples are a good way to get a feeling for how the library works and the range of functionality it covers.

Noteworthy Changes in YUI 3.2.0

George Puckett has rolled up the high-level list of changes in YUI 3.2.0; you can also check in on our progress addressing issues in the bug database. Here are some of the new and updated components featured in the 3.2.0:

  • SimpleYUI has been introduced as a convenience module — in addition to rolling up a variety of YUI's most essential features, it creates a global instance (assigned to the global Y) that's available for immediate use. This isn't a watered-down YUI...just a convenience for those who want to have a common rollup with standard Ajax-kit functionality.
  • Intrinsic support for touch events has been added (mynode.on("touchstart", function(e) {});). We've also added a Gestures module with two bundled gestures — flick and move — that work with both touch- and mouse-driven devices. Check out the Gestures documentation and examples for ideas about how to start using Gestures.
  • YUI's loader now supports capability-based loading. This allows us to segregate, for example, IE-specific code into separate submodules and allow the Loader to bundle that code only for browsers that require it. We're leveraging this new feature to avoid shipping IE-specific code in the Dom module to non-IE browsers, a performance/k-weight boost that will benefit all users of modern browsers with no code change required.
  • YUI 3's animation portfolio now supports transitions via the Transition module, providing browser normalization for this powerful, hardware-accelerated (where available) technique for handling transitions; check out this example for sample code. The Animation module, in its most basic form, has a streamlined dependency tree for modern browsers, significantly reducing the k-weight for simple animation in better browsers.
  • YUI 3.2.0 debuts a new beta version of YUI's CSS Grids component, and you can begin exploring this new approach to Grids in the preview release. The examples are the best place to start.
  • YUI ScrollView, new in YUI 3.2.0We worked with Michael Johnston of the Yahoo! Mobile Engineering team to bring a new (beta) ScrollView widget to YUI 3.2.0. ScrollView provides a scrolling pane implementation familiar to users of native Apple iOS applications, emulating the elasticity of the element's constraints when scrolled to the beginning or ending limit. You'll see in the 3.2.0 examples for ScrollView that this component is device-neutral, working well with a mouse as well as with touch events on your Android or iOS device.
  • The Uploader component from YUI 2 is now part of the YUI 3 family as well, debuting as a beta in 3.2.0.
  • Editor (beta) for YUI 3: Editor debuts in YUI 3 as a base utility layer providing a foundation on which you can create a rich text editing control. This version of Editor does not contain a GUI of any kind — widget chrome will debut in 3.3.0.
  • The History module that debuted with YUI 3.0.0, which was a port of the YUI 2 version, has been deprecated (it remains available in YUI 3.2.0 as history-deprecated). A new beta History utility debuts in 3.2.0, based on Ryan Grove's History Lite module from the YUI 3 Gallery. A preview-release example from the new component is a good starting reference.
  • The JSONP and YQL Query modules from the YUI 3 Gallery have become canonical components, debuting as beta in this release.

More to Come

We're excited about the coming months in YUI development:

  • YUI Conf 2010 takes place Nov. 8-10 in Sunnyvale. As usual, there will be a Crockford keynote, talks by some of the brilliant contributors to the YUI 3 Gallery (including Nate Cavanaugh and Eduardo Lundgren of Liferay), and sessions from the YUI core team.
  • New components and features: We're hard at work on YUI 3 versions of tools like AutoComplete, DataTable, Button, Charts and Editor, as well as some all-new projects. Expect a preview of 3.3.0, with all new work completed thus far, when you're here for the conference in November.
  • Yeti, YUI for Node.js, and more: The team continues to push the envelope with projects aimed at the most promising frontiers in frontend engineering. Reid Burke's Yeti was just launched, allowing command-line cross-browser testing for anyone using YUI Test. Dav Glass's work to make YUI 3 work seamlessly with NodeJS has been documented on the blog and will be an official YUI offering soon. And there's more to come.


Let us know what you think of the new release in the forums or @yuilibrary on Twitter.