The Yahoo User Interface (YUI) Library is a coherent collection of JavaScript and CSS resources that make it easier to build richly interactive applications in web browsers. Some pieces of YUI, like the Event Utility, operate under the hood and are simply there to make in-browser programming easier. Others, like the Calendar Control, comprise visual widgets that can be placed on your page with a default look-and-feel.
The YUI Library is free, licenced under a liberal BSD license that permits both commercial and non-profit use. YUI is backed by developers at Yahoo!, where YUI code is used and refined on pages viewed billions of times each day. YUI is increasingly comprehensive, well-documented, and supported by a growing community in the YUI forums.
YUI is distributed via our SourceForge project page. You can download the distribution directly by clicking here.
The YUI community exchanges ideas and suggestions and often lends a friendly hand to newcomers in the YUI forums. The forums are the best place to go to ask a question; they're searchable, too, and with thousands of questions already having been answered a quick search there might get you just the answer you need.
No; there is no full-featured JavaScript or CSS library that can work in every browser. But YUI supports the vast majority of browsers that are in general use. Moreover, we have a comprehensive, public approach to browser support and we are committed to making sure that our components work well in all of what we designate as "A-Grade" browsers. To stay up-to-date on what browsers we support, bookmark our table of A-Grade browsers and subscribe to the YUIBlog, on which we publish quarterly updates.
The YUI team designates components as beta (
) during their initial release. This allows us to get feedback from the community about the component and its API before we lock down that API from major changes. If a component is marked as beta, that means we're expecting to make modifications to the API that may not be backward-compatible. If you include a beta component in your project, you may find that, with a future YUI release, you'll need to make changes in your implementation as it relates to that component.
In some circumstances, the YUI team may release a component in an experimental state. The YUI Charts Control is an example of a component that we've designated as experimental. An experimental component is one that has not been extensively tested and which may involve a technical approach that has not been proven out in other applications. We release such components to solicit community feedback and to begin the process of evaluating them in a wider context than we can provide within the YUI team. We designate them as experimental to communicate to implementers that significant work remains to be done before the project is ready for full production release on mission-critical applications. Some projects will evolve from experimental releases to beta and then to GA; other experimental projects may never evolve into production-quality components due to technical hurdles identified during community experimentation.
At present, YUI does not have a formal process for submitting patches and component additions/extensions. If you have found a defect in a YUI component, we ask that you submit a bug report following our bug reporting guidelines. If you have a patch that you would like to submit, please post it to the Patches repository in the SourceForge Tracker.
YUI does not currently have an externally available SVN. This is an issue we are actively working on. At present, the only distribution mechanism for YUI is its download package from SourceForge.
The -debug versions of YUI JavaScript files contain additional code that outputs messages to the YUI Logger Control. These messages include information about any "interesting moments" that happen during an interaction; for example, all Custom Events that are used within a YUI component are automatically logged to the Logger console. To make use of these files, include the -debug version of the file on your page and include the YUI Logger Control. Be sure to create a Log Reader instance so that you'll see your messages logged to the screen. Note: The -debug versions of YUI JavaScript files are not hosted on Yahoo! servers. If you wish to use these files, you'll need to download YUI from SourceForge and host them on your own servers. YUI scripts containing debugging statements perform much more slowly than do the optimized and minified -min versions of the files; never use -debug files in a production environment.
The Yahoo! Maps API currently tries to pull in YUI automatically, and in doing so it can overwrite existing YUI components on the page. In this YUIBlog article, Eric Miraglia explains how to get the Yahoo! Maps API to coexist happily with current versions of YUI — it's a very simple process.
Roadmap updates are periodically posted to the YUI community forum. The latest YUI roadmap update can be found here.
Guidelines for preparing bug reports and filing bugs or feature requests can be found here.
Within the YUI team, we tend to pronounce it "why-you-eye". However, in the wider world we more often hear it pronounced "yooey."














Copyright © 2008 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Copyright Policy - Job Openings