Welcome, guest Sign In


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.

  1. What is the YUI 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.

  2. What version of YUI is right for me?

    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.

    • Launched February 2006
    • Used on thousands of sites around the Web — including Yahoo!
    • One of the most popular, best-documented JavaScript/CSS libraries available
    • Comprehensive suite of utilities and widgets
    • Launched September 2009
    • YUI's next-generation framework — used on the new Yahoo! home page
    • Rebuilt from the ground up to be incredibly fast, powerful, and secure
    • Full suite of utilities; widgets coming in 2010
  3. Why would I choose YUI?

    YUI 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:

    • Light and flexible: Both YUI 2 and YUI 3 provide lightness and flexibility. YUI 2's light, powerful core weighs just 13.6KB on the wire and offers language utilities, DOM normalizations, and a complete event/custom event suite. For 20.3KB, you can include the YUI 2 Core plus the YUI Loader, which can dynamically load the requirements for any YUI-based module using a single HTTP request for JS and one more for CSS. YUI 3 takes these concepts even further, with extremely light seed files and the ability to intelligently lazyload any portion of the library. No other frontend kit offers you a better combination of lightness and power.
    • The foundation matters: YUI, though light and simple to use for simple tasks, provides a rich foundation for your work when you turn toward complex client-side application development. From its custom event system to its object management methods to its widget-creation tools, YUI scales to meet the differing challenges of each project.
    • A la carte design: YUI's modular approach means that you can include on the page just the pieces you need. Pages that make light use of scripting may require only the YUI Core. But no matter how many YUI components you bring into a page, you're always loading just the pieces you need.
    • Industrial-strength hosting: YUI files are hosted freely for your use by Yahoo (and some by Google). Yahoo's CDN — the global network of edge-hosting servers that supports Yahoo's own websites — provides fantastic performance and combo-handling, allowing you to significantly reduce the number of HTTP requests required to load YUI components. If you need SSL support, Google's CDN offers similar performance and supports SSL for YUI 2 resources. (You can use the YUI 2 Dependency Configurator or YUI 3 Configurator to get the necessary URLs for drawing YUI from Yahoo or Google servers).
    • Complete stack, consistent licensing: YUI is the only major open-source library to offer a complete set of utilities and widgets, all crafted, tested, documented and exemplified to the same high standard and all licensed under the same terms (BSD). No other library supports the full range of A-Grade browsers across a full set of utilities and widgets, all under the same licensing terms.
    • Commitment to accessibility: YUI's developers care about the experience of all users, and we've worked hard to make our work support the emerging ARIA standards.
    • Documentation, documentation, documentation. Whether you're looking at the next-generation YUI 3.x release in preview mode, the Carousel component in beta, or a GA component like DataTable, you'll find that YUI engineers have worked hard to provide great user's guides, cheat sheets, and examples.

  4. Where can I go to download YUI?

    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.

  5. Is YUI 3 on the Google CDN?

    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.

  6. Does Yahoo!'s CDN support SSL?

    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.

  7. I'm having trouble with a YUI implementation. Where can I get support or help?

    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.

  8. Does YUI work in all web browsers?

    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.

  9. What does it mean when a component is released as a beta?

    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.

  10. What does it mean when a YUI component is released as "experimental"?

    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.

  11. I have a patch or component that I'd like to contribute back to YUI; how do I do that?

    See the Community & Contributions page for more information on contributing.

  12. Is there an externally-available SVN for YUI?

    The source for most of the YUI library is available on GitHub.

  13. When I download YUI, I notice that each component's JavaScript file has a "-debug" version. How do I use this resource?

    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.

  14. I'm having trouble getting the current version of YUI 2 to work with the Yahoo! Maps API; where can I get help with this?

    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.

  15. Where can I go to learn more about the YUI roadmap and plans for future components?

    You can find a link to roadmaps for various parts of the YUI Project on our Roadmap index.

  16. What should I do when I find a bug with a YUI component?

    Guidelines for preparing bug reports and filing bugs or feature requests can be found here.

  17. How is "YUI" pronounced?

    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 © 2016 Yahoo! Inc. All rights reserved. Copyright | Privacy Policy

Help us continue to improve the Yahoo! Developer Network: Send Your Suggestions