Jump to content

YUI Library

From Alfawiki
Adapted from the English Wikipedia article YUI Library, available under CC BY-SA 4.0Updated 9 August 2025
Yahoo! User Interface Library (YUI)
Company typeOpen-source software library
IndustrySoftware development
Founded2005
FounderThomas Sha, Jerry Yang (internal backing)
Defunct2014-08-29
FateDiscontinued, maintenance only
Headquarters
Sunnyvale
,
United States
Area served
Worldwide
Key people
Thomas Sha, Adam Moore, Matt Sweeney
ProductsJavaScript library, CSS assets, developer tools, build tools
OwnerYahoo!
Websitehttps://yuilibrary.com/

Yahoo! User Interface Library (YUI) was an open-source JavaScript library created to develop dynamic web applications utilizing technologies such as Ajax, DHTML, and DOM scripting. It also offered core CSS assets and was released under a BSD License. Initiated in 2005, Yahoo! integrated YUI into services like My Yahoo! by that summer. The library became publicly accessible in February 2006 and was actively maintained by Yahoo! engineers.

In September 2009, Yahoo! introduced YUI 3, a comprehensive redesign aimed at modernizing the framework and applying insights gained from YUI 2. This version featured a CSS selector-based mechanism for DOM element retrieval, improved modularity through smaller seed files that load modules as needed, and syntax enhancements to simplify coding practices.

YUI’s original creators included Thomas Sha, with internal backing from Yahoo! co-founder Jerry Yang. The lead developers were Sha, Adam Moore, and Matt Sweeney. The team managed the YUIBlog, while user interaction occurred via community forums.

On August 29, 2014, Yahoo! declared the cessation of active YUI development due to the evolution of JavaScript standards, reduced demand for extensive libraries, and the growing preference for server-side alternatives. Subsequent releases were limited to essential maintenance supporting Yahoo’s own platforms.

Features

The YUI Library offers comprehensive online documentation alongside detailed API references included in the distribution package. It consists of six categories: YUI core, utilities, UI controls, CSS components, developer tools, and build tools.

Core

The YUI Core is a compact (31KB minified) toolkit designed for event handling and DOM operations.

YUI Global Object
Incorporates language utilities, a script loader, and fundamental infrastructure.
Dom Collection
Supports frequent DOM scripting functions such as element positioning and managing CSS styles.
Event Utility
Facilitates straightforward interaction with browser events like mouse clicks and key presses, also enabling custom event creation and subscription.

Utilities

Animation
Allows developers to create animated transformations on page elements including position, size, and opacity.
Browser History Manager
Helps web applications leverage the browser’s back button functionality and bookmarking.
Connection Manager
Handles cross-browser XMLHttpRequest processes with capabilities for form submissions, error management, callbacks, and file uploads.
Cookie
Provides an API to manage browser cookies and subcookies efficiently.
DataSource
Offers a unified interface for components to access diverse data types ranging from JavaScript arrays to remote servers via XHR.
Drag and drop
Enables elements to be "draggable" while creating interactive drop zones.
Element
Wraps around HTML elements to simplify adding event listeners, manipulating the DOM, and managing attributes.
Get
Supports asynchronous retrieval of data, scripts, and external CSS resources.
ImageLoader
Delays loading images outside the viewport to enhance performance.
JSON
Validates incoming JSON data and converts JavaScript objects into JSON strings following JSON.org standards.
Resize
Makes any block-level HTML element resizable by users.
Selector
Provides selection of HTML elements using CSS3 selector syntax.
YUI Loader
Dynamically loads YUI components along with their dependencies on the client side.

Controls

AutoComplete
Delivers autocomplete functionality featuring suggestion lists and type-ahead support for text inputs, compatible with various data sources including server-side retrieval via XMLHttpRequest.
Button
Generates visually enhanced buttons that operate similarly to standard HTML form buttons.
Calendar
Provides an interactive graphical date picker.
Charts
Utilizes the DataSource Utility to fetch data and render visualizations such as line, bar, and pie charts.
Color Picker
Offers a graphical user interface for selecting colors.
Container
Implements DHTML windowing models including Tooltip, Panel, Dialog, SimpleDialog, Module, and Overlay components.
DataTable
Presents accessible tabular data with capabilities like sortable columns, pagination controls, scrolling, row selection, resizable columns, and inline editing options.
ImageCropper
Supplies user interface elements enabling client-side image cropping with interactive controls.
Layout Manager
Assists in creating pixel-precise layouts across browsers with fixed units positioned at the top, bottom, left, right, and center.
Menu
Facilitates the development of fly-out menus, menu bars, and context menus with ease.
Rich Text Editor
A customizable modular client-side text editor designed for flexible text input scenarios.
Slider
Introduces a slider component allowing users to select values within defined ranges along one or two axes.
TabView
Supports tabbed navigation with content loading dynamically through XMLHttpRequest.
TreeView
Constructs hierarchical content trees that can be expanded or collapsed.
Uploader
Enables uploading multiple files simultaneously while providing progress indicators.

CSS resources

CSS Base
Establishes a uniform cross-browser baseline by applying Reset techniques that override default browser CSS rules familiar to developers.
CSS Grids
Provides seven fundamental page templates with elements supporting more than 1000 distinct page layouts.
CSS Fonts
Ensures consistent rendering of font families and sizes across different browsers.
CSS Reset
Eliminates default margins and normalizes cross-browser display of common HTML elements.

Developer tools

Logger
Allows rapid logging output to an on-screen console or integrates with Firebug for Firefox and Safari’s JavaScript console.
Profiler
A cross-browser JavaScript code profiler that operates without a visual interface.
ProfilerViewer
Complements Profiler by presenting profiling results graphically using the Charts Control and in tabular form via DataTable.
YUI Test
A browser-based JavaScript testing framework supporting unit tests inspired by nUnit and JUnit methodologies.

Build tools

YUI Compressor
Efficiently minifies JavaScript and CSS files while preserving safety.
YUIDoc
Produces searchable API documentation derived from JavaScript source code comments, commonly integrated into automated build workflows.

See also

External links