- Yahoo! UI Library
-
Yahoo! UI Library (YUI) Desarrollador Yahoo!
http://developer.yahoo.com/yui/Información general Última versión estable 3.4.1
27 de septiembre de 2011Género Biblioteca de Javascript Sistema operativo Multiplataforma (JavaScript) Licencia BSD License En español
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.Contenido
Características
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
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
- 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
- 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
- CSS Base: Utilidades para la manipulación de la hoja de estilos de la forma clásica.
- CSS Grids.
- CSS Fonts.
- CSS Reset.
Herramientas de desarrollo
- Logger: Permite escribir mensajes de log en una consola, o utilizar las que proporcionan la extensión Firebug para el navegador Mozilla Firefox o la consola JavaScript del navegador Safari.
- Profiler: Para perfilar el código JavaScript.
- ProfilerViewer: Usado con el anterior componente (Profiler) proporciona un perfilado visual.
- YUI Test: Permite añadir unidades de testeo al código JavaScript.
Herramientas de contrucción
- YUI Compressor: Es un compresor de código JavaScript y CSS diseñado para proporcionar un resultado 100% seguro.
Véase también
- Google Web Toolkit
- JavaScript
- DHTML
- AJAX
Enlaces externos
Wikimedia foundation. 2010.