Not finding the answer you're looking for here? Check out the YUI developer forums, where thousands of YUI users and developers gather to discuss the library.
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 (YUI 2 | YUI 3), operate under the hood and are simply there to make in-browser programming easier. Others, like the Calendar Control (YUI 2 only at present), comprise visual widgets that can be placed on your page with a default look-and-feel.
There are currently two versions of YUI: YUI2 and YUI3. Both are proven, scalable, fast, and robust. The version of YUI that is best for you depends entirely on your needs and project requirements. The following provides some guidance on choosing between the versions of YUI.
YUI 2 — ROBUST AND PROVENYUI 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 one of several high-quality JavaScript/CSS libraries. This is a good thing — it means that developers are now choosing from several good options, whereas five years ago we were solving most library-style problems on our own. Given the other choices out there, why would you choose YUI? Here are some of the core strengths of the YUI project:
YUI is distributed via our YUILibrary.com page. You can download the latest YUI 2 distribution directly by clicking here; the latest YUI 3 distribution is here.
Not at this time. Support for combining library scripts on the server side is very important for the most effective use of YUI 3, but Google's CDN does not currently offer a combo service.
Not right now, but we sure wish it did! If you need SSL and you can live without the benefit of combined files, you can use Google's CDN for YUI 2, but the best option may be to host files locally and use your own combo service.
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.
See the Community & Contributions page for more information on contributing.
The source for most of the YUI library is available on GitHub.
The -debug versions of YUI JavaScript files contain additional code that outputs messages to the YUI 2 Logger or the YUI 3 Console. 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 Logger or Console. In YUI 2, be sure to create a Log Reader instance so that you'll see your messages logged to the screen.
The Yahoo! Maps API currently tries to pull in YUI 2 automatically, and in doing so it can overwrite existing YUI 2 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. Note: YUI 3 is unaffected by the Maps issue.
You can find a link to roadmaps for various parts of the YUI Project on our Roadmap index.
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."
Tue, 09 Feb 2010
YUI Theater — Douglas Crockford: “Crockford on JavaScript — Volume 1: The Early Years”
Wed, 03 Feb 2010
Fybit Riatrax4Js: Program YUI in Java
Tue, 02 Feb 2010
The YUI Team is Looking for a World-Class Engineer to Work on Frontend CI, Build Systems, and QA
Thu, 28 Jan 2010
Crockford on JavaScript: Night One Recap, and More Tickets Released
Tue, 26 Jan 2010