La biblioteca de interfaz de usuario de Yahoo! ( YUI ) es una biblioteca JavaScript de código abierto descontinuada para crear aplicaciones web interactivas enriquecidas utilizando técnicas como Ajax , DHTML y scripting DOM . YUI incluye varios recursos CSS básicos . Está disponible bajo una licencia BSD . [ 3 ] El desarrollo de YUI comenzó en 2005 y las propiedades de Yahoo! como My Yahoo! y la página principal de Yahoo! comenzaron a usar YUI en el verano de ese año. YUI se lanzó para uso público en febrero de 2006. [ 1 ] Fue desarrollada activamente por un equipo central de ingenieros de Yahoo!.
En septiembre de 2009, Yahoo! lanzó YUI 3, una nueva versión de YUI reconstruida desde cero para modernizar la biblioteca e incorporar las lecciones aprendidas de YUI 2. Entre las mejoras se encuentran un motor basado en selectores CSS , como jQuery , para recuperar elementos DOM , un mayor énfasis en la granularidad de los módulos, un archivo semilla más pequeño que carga otros módulos cuando es necesario y una variedad de cambios sintácticos destinados a hacer que escribir código sea más rápido y fácil. [ 4 ]
El proyecto de la biblioteca YUI en Yahoo! fue fundado por Thomas Sha y patrocinado internamente por el cofundador de Yahoo!, Jerry Yang ; sus principales arquitectos han sido Sha, Adam Moore y Matt Sweeney. Los desarrolladores de la biblioteca mantienen el blog YUI; la comunidad YUI debate sobre la biblioteca y sus implementaciones en su foro.
El 29 de agosto de 2014, se anunció que Yahoo! finalizaría el desarrollo activo de YUI, citando la evolución de los estándares de JavaScript, el interés cada vez menor de los desarrolladores en las grandes bibliotecas de JavaScript y la proliferación de soluciones del lado del servidor. El desarrollo futuro se limitará a versiones de mantenimiento que aborden problemas que sean "absolutamente críticos para las propiedades de Yahoo". [ 5 ]
Características
La biblioteca YUI está completamente documentada en su sitio web; la descarga de la biblioteca incluye documentación detallada de la API. Cuenta con seis tipos de componentes: núcleo YUI, utilidades, controles de interfaz de usuario, componentes CSS, herramientas para desarrolladores y herramientas de compilación.
Centro
YUI Core es un conjunto ligero (31 KB minimizado) de herramientas para la gestión de eventos y la manipulación del DOM.
- Objeto global YUI
- El objeto global de YUI contiene utilidades de lenguaje, un cargador de scripts y otra infraestructura básica para YUI.
- Colección Dom
- Ayuda con las tareas comunes de programación del DOM , incluido el posicionamiento de elementos y la gestión de estilos CSS .
- Utilidad de eventos
- Proporciona a los desarrolladores un acceso fácil y seguro a los eventos del navegador (como clics del ratón y pulsaciones de teclas). También proporciona el objeto Evento personalizado para publicar y suscribirse a eventos personalizados.
Servicios públicos
- Animación
- Ayuda a crear "efectos" animando la posición, el tamaño, la opacidad u otras características de los elementos de la página.
- Administrador del historial de navegación
- Ayuda a las aplicaciones web a utilizar el botón de retroceso y la función de marcadores del navegador.
- Gestor de conexiones
- Ayuda a gestionar las transacciones XMLHttpRequest de forma compatible con diferentes navegadores . Incluye soporte integrado para el envío de formularios , el manejo de errores , las devoluciones de llamada y la carga de archivos.
- Galleta
- Permite gestionar las cookies y subcookies del navegador mediante una API sencilla.
- Fuente de datos
- Proporciona una interfaz común y configurable para que otros componentes interactúen con diferentes tipos de datos, desde simples matrices de JavaScript hasta servidores en línea a través de XHR.
- Arrastrar y soltar
- La utilidad de arrastrar y soltar de YUI facilita la creación de elementos " arrastrables " y la creación de zonas de destino que responden a los eventos de arrastre.
- Elemento
- Proporciona una capa de abstracción para los elementos HTML en el DOM y simplifica tareas comunes como agregar detectores de eventos, manipular el DOM y establecer y obtener atributos.
- Conseguir
- La utilidad Get admite la carga asíncrona de datos y scripts a través de nodos de script y la carga dinámica de archivos CSS externos.
- Cargador de imágenes
- La función ImageLoader de YUI permite retrasar la carga de imágenes que no son visibles en la ventana gráfica al momento de cargar la página. Esto puede generar mejoras significativas en el rendimiento.
- JSON
- La utilidad JSON proporciona métodos para validar los datos JSON entrantes y verificar su seguridad, así como métodos para convertir datos JavaScript a una cadena con formato JSON. Estos métodos se basan en el trabajo de Douglas Crockford en JSON.org.
- Cambiar tamaño
- Permite redimensionar cualquier elemento HTML de nivel de bloque.
- Selector
- La utilidad YUI Selector Utility permite obtener referencias a elementos HTML mediante la sintaxis de selectores CSS3.
- Cargador YUI
- YUI Loader es un motor de carga del lado del cliente que puede cargar dinámicamente cualquier componente YUI (y sus dependencias) sobre la marcha.
Controles
- Autocompletar
- Proporciona la función de autocompletado (listas de sugerencias y función de autocompletado predictivo) para las interacciones del usuario que implican la introducción de texto. Admite diversos formatos de origen de datos. También admite orígenes de datos del lado del servidor mediante XMLHttpRequest.
- Botón
- Permite la creación de botones gráficos y sofisticados que funcionan como los botones de formulario HTML tradicionales.
- Calendario
- Un control gráfico y dinámico utilizado para la selección de fechas.
- Gráficos
- El control de gráficos recupera los datos a través de la utilidad DataSource y los muestra en una variedad de formatos de gráficos comunes (líneas, barras, circulares, etc.).
- Selector de color
- El control de selección de color proporciona una interfaz visual completa para la selección de colores.
- Recipiente
- Admite una variedad de patrones de ventanas DHTML, incluidos Tooltip , Panel, Dialog, SimpleDialog, Module y Overlay.
- Tabla de datos
- API sencilla pero potente para mostrar datos tabulares accesibles mediante lectores de pantalla en una página web. Entre sus características destacadas se incluyen columnas ordenables, paginación, desplazamiento, selección de filas, columnas redimensionables y edición en línea.
- Recortador de imágenes
- ImageCropper proporciona la interfaz de usuario y los elementos interactivos para un recortador de imágenes del lado del cliente.
- Gestor de maquetación
- Permite crear diseños compatibles con diferentes navegadores y con una precisión de píxel perfecta con poco esfuerzo, al proporcionar un diseño fijo que contiene unidades de diseño superior, inferior, izquierda, derecha y central.
- Menú
- Proporciona una API sencilla para crear menús desplegables , barras de menú y menús contextuales.
- Editor de texto enriquecido
- El editor de texto enriquecido YUI es un sofisticado procesador de texto del lado del cliente, modular y altamente configurable, adecuado para cualquier situación de entrada de texto abierta.
- Deslizador
- Proporciona un elemento deslizante genérico que permite al usuario elegir dentro de un rango finito de valores en uno o dos ejes.
- Vista de pestañas
- Proporciona vistas de contenido con pestañas navegables; admite la carga dinámica del contenido de las pestañas a través de XMLHttpRequest.
- Vista de árbol
- Genera un árbol de contenido cuyos nodos se pueden expandir y contraer.
- Cargador
- Permite la carga de varios archivos con información sobre el progreso de la carga.
Recursos CSS
- Base CSS
- Utilice Base después de Reset para proporcionar una alternativa consistente y compatible con diferentes navegadores a las reglas CSS estándar a las que están acostumbrados los desarrolladores web.
- Cuadrículas CSS
- Siete esquemas básicos de página con componentes de subsección para admitir más de 1000 diseños de página diferentes.
- Fuentes CSS
- Familias de fuentes y representación de tamaños estandarizadas para diferentes navegadores.
- Restablecimiento de CSS
- Las declaraciones CSS eliminan los márgenes y estandarizan la representación de elementos comunes en diferentes navegadores.
Herramientas para desarrolladores
- Leñador
- Proporciona una forma rápida y sencilla de escribir mensajes de registro en una consola en pantalla, en la extensión Firebug para Mozilla Firefox o en la consola JavaScript de Safari .
- Perfilador
- Un analizador de código no visual compatible con varios navegadores para JavaScript.
- Visor de perfiles
- Se utiliza en combinación con Profiler para proporcionar visualizaciones detalladas de sus datos de perfilado , tanto gráficamente (mediante el control de gráficos) como en formato tabular (mediante DataTable).
- Prueba YUI
- YUI Test es un framework de pruebas para soluciones JavaScript basadas en navegador. Con YUI Test, puedes añadir fácilmente pruebas unitarias a tus soluciones JavaScript. Si bien no es una adaptación directa de ningún framework xUnit específico, YUI Test hereda algunas características de nUnit y JUnit.
Herramientas de compilación
- Compresor YUI
- YUI Compressor es una herramienta que minimiza JavaScript y CSS de forma segura.
- YUIDoc
- YUIDoc es una herramienta escrita en JavaScript que genera documentación API con capacidad de búsqueda para código JavaScript. Generalmente se utiliza como parte de un proceso de compilación. YUIDoc se basa en comentarios y es compatible con diversos estilos de codificación y lenguajes de programación.
Véase también
Referencias
- 1 2 "La biblioteca de interfaz de usuario de Yahoo!" . Blog de interfaz de usuario de Yahoo! . 13 de febrero de 2006. Archivado del original el 11 de junio de 2008. Recuperado el 13 de junio de 2008 .
- ↑ "Versiones · yui/yui3 · GitHub" . GitHub . Consultado el 24 de abril de 2020 .
- ↑ "Biblioteca YUI" . Consultado el 13 de junio de 2008 .
- ↑ "YUI 3.0.0: Primera versión GA del código fuente de próxima generación de YUI" . Blog de interfaz de usuario de Yahoo! 29 de septiembre de 2009. Archivado del original el 12 de diciembre de 2009. Consultado el 18 de noviembre de 2009 .
- ↑ "Anuncio importante sobre YUI" . Yahoo! Ingeniería . Consultado el 29 de agosto de 2014 .
Enlaces externos
- Sitio del proyecto YUI y sistema de seguimiento de incidencias
- Repositorio público de código fuente de YUI
- Blog de interfaz de usuario de Yahoo!
- Biblioteca de patrones de diseño de Yahoo!
- YUICoder.com - Manipulación de la interfaz de usuario de Yahoo! Archivado el 16/10/2009 en Wayback Machine (cubre la antigua YUI 2.x)
- Software de Yahoo!
- Bibliotecas de JavaScript
- Ajax (programación)
- marcos CSS
- Software que utiliza la licencia BSD.