Yahoo! UI Library

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Yahoo! UI Library (YUI)
Yuilib.jpg
Desarrollador
Yahoo!
http://developer.yahoo.com/yui/
Información general
Última versión estable 3.8.0
11 de diciembre de 2012
Género Biblioteca de Javascript
Sistema operativo Multiplataforma (JavaScript)
Licencia BSD License
En español No No
[editar datos en Wikidata ]

Yahoo User Interface(YUI), una serie de bibliotecas escritas en JavaScript, para la construcción de aplicaciones interactivas (RIA). Liberadas bajo licencia BSD por parte de la compañía Yahoo. Dichas bibliotecas son utilizadas para el desarrollo web específicamente para ser usadas como la programación de aplicaciones de escritorio, con componentes vistosos y personalizables y con una amplia implementación con AJAX.

Características[editar]

La biblioteca está completamente documentada en su página web y se compone de seis componentes: Núcleo YUI, utilidades, controles UI, componentes CSS, herramientas de desarrollo y de construcción.

Núcleo[editar]

El núcleo de YUI es un ligero conjunto de herramientas (31KB la versión compacta) para manejar eventos y manipular el árbol DOM.

  • YAHOO Global Object: Los Objetos Globales Yahoo contienen utilidades y otras infraestructuras base para la biblioteca.
  • Dom Collection: Ayuda para la manipulación del árbol DOM, incluyendo posicionamiento de elementos y gestión de estilos CSS.
  • Event Utility: Permite acceder de forma segura y sencilla a los eventos de un navegador web y, mediante el objeto Custom Event, publicar y suscribirse a eventos customizados.

Utilidades[editar]

  • Animation: Ayuda a crear efectos animados.
  • Browser History Manager: Ayuda complementaria para el botón Atrás y la gestión de Marcadores/Favoritos de los navegadores web.
  • Connection Manager: Ayuda para manejar el objeto XMLHttpRequest.
  • Cookie: Permite gestionar las cookies.
  • DataSource: Proporciona una interfaz común para que otros componentes puedan interactuar con diferentes tipos de datos.
  • Drag and Drop: Facilita la creación de eventos y elementos que pueden ser arrastrados.
  • Element: Proporciona una capa para los elementos que facilita el añadido de escuchadores, manipulación del árbol DOM y atributos 'get' y 'set'.
  • Get: La utilidad Get soporta la carga asíncrona de datos y archivos de estilos CSS externos.
  • ImageLoader: Permite aplazar la carga de imágenes que no son visibles durante la carga de la página, proporcionando un aumento del rendimiento.
  • JSON: Proporciona métodos para el tratamiento de datos JSON. Estos métodos están basados en el trabajo de Douglas Crockford.
  • Resize: Permite redimensionar los elementos HTML.
  • Selector: Permite referenciar elementos HTML mediante la sintaxis CSS3.
  • YUI Loader: Es un cargador del lado cliente que permite la carga de forma dinámica de cualquier componente y dependencia de la biblioteca al vuelo.

Controles[editar]

  • AutoComplete: Proporciona la función de auto completado (lista de sugeridos) para los usuarios. Soporta varios formatos de datos, tanto del lado cliente como del lado servidor (vía XMLHttpRequest).
  • Button: Permite la creación de botones gráficos que funcionan como un botón tradicional en HTML.
  • Calendar: Un calendario gráfico y de control dinámico.
  • Charts: Permite la creación de diferentes tipos de gráficos (lineales, de barras, etc.).
  • Color Picker: Proporciona una interfaz gráfica para la selección de colores.
  • Container: Proporciona una interfaz gráfica como Tooltip, paneles, cuadros de diálogo, etc.
  • DataTable: Una potente herramienta para mostrar tablas tabulares en una página web. Permite la ordenación de columnas tanto en el lado cliente como en el servidor, paginación, scroll, selección de filas, redimensionado de columnas y edición inline.

A continuación se muestra un ejemplo de declaración con el uso del componente DataTable:

//Declaración del conector al DataTable
var myDataSource = new YAHOO.util.DataSource(myHugeDataSet);
//Tipo de respuesta del DataSource
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
//Definiendo la estructura del DataSource
myDataSource.responseSchema = { fields : [ "id","nombre","edad" ] };
//Definición de cada columna del DataTable que debe ser igual a la del DataSource
var myColumnDefs = [ {key:"id"}, {key:"nombre"}, {key:"edad"} ];
//Cantidad de Registros en la variable de configuración del DataTable
var myTableConfig = { renderLoopSize : 20 };
/*
Creación del DataTable pasándole como parámetros el nombre, la definición de las 
columnas, el datasource o recurso de donde se obtienen los datos, y por último 
la configuración general del DataTable
*/
var myDataTable = new YAHOO.widget.DataTable('tbl', myColumnDefs, myDataSource, myTableConfig);
  • ImageCropper: Proporciona una interfaz gráfica para recortar una imagen desde el lado cliente.
  • Layout Manager.
  • Menu: Proporciona una API para la creación de menús flotantes, barras de menú y menús de contexto.
  • Rich Text Editor: Es un sofisticado editor de texto rico modular del lado cliente y muy configurable.
  • Slider: Proporciona un elemento genérico que permite al usuario elegir entre un rango de valores.
  • TabView: Permite la navegación entre pestañas, soportando la carga dinámica de contenido vía XMLHttpRequest.
  • TreeView: Añade un árbol de contenido con nodos que se pueden contraer y expandir para navegar por los elementos.
  • Uploader: Permite la carga de varios archivos mostrando una barra de progreso.

Recursos CSS[editar]

Herramientas de desarrollo[editar]

Herramientas de construcción[editar]

  • YUI Compressor: Es un compresor de código JavaScript y CSS diseñado para proporcionar un resultado 100% seguro.

Véase también[editar]

Enlaces externos[editar]