Kit de herramientas de dojo | |
---|---|
Tipo de | kit de herramientas de JavaScript |
Desarrollador | Fundación Dojo |
Escrito en | JavaScript |
Sistema operativo | Software multiplataforma |
Primera edición | 2004 |
ultima versión | 1.15.0 ( 16 de febrero de 2019 ) |
Licencia | Licencia BSD y Licencia Académica Libre |
Sitio web | dojotoolkit.org |
Dojo ( dojo ) es una biblioteca JavaScript modular gratuita . Diseñado para facilitar la aceleración del desarrollo de aplicaciones y sitios basados en JavaScript o AJAX . El desarrollo de la biblioteca fue iniciado por Alex Roussel en 2004 . La biblioteca está bajo una licencia dual : Licencia BSD y Licencia Académica Libre . La Fundación Dojo es una organización sin fines de lucro creada para promover Dojo.
Dojo se ha utilizado en Zend Framework desde la versión 1.6.0.
Los elementos de la interfaz de Dojo son paquetes formados por componentes: código JavaScript , marcado HTML y CSS . Se pueden usar para agregar varias funciones interactivas a un sitio:
Una de las características importantes de las aplicaciones AJAX es la comunicación asíncrona entre el navegador y el servidor: gracias al intercambio de información, la vista de la página se actualiza sin recargar la página. Esto generalmente se hace usando el objeto JavaScript XMLHttpRequest . Dojo proporciona una clase "envoltura" ( dojo.io.bind) que le permite abstraer las diversas implementaciones de XMLHttpRequest en los navegadores, incluidas las que se ejecutan a través de <iframe>. Usando esta tecnología, se vuelve fácil crear aplicaciones que pasan la entrada del usuario al servidor. El servidor puede responder con algo de JavaScript y actualizar la vista de la página.
Muchas funciones de dojo facilitan la programación de JavaScript.
Dojo proporciona un sistema de paquetes que facilita la modularización de la funcionalidad de paquetes y subpaquetes. El script de "arranque" inicializa un conjunto de espacios de nombres de paquetes jerárquicos - "io", "evento", etc. - dentro del espacio de nombres raíz "dojo". Una vez que se ha inicializado el espacio de nombres raíz, se puede cargar cualquier paquete Dojo (usando XMLHttpRequest o un método similar) usando funciones especiales de script de carga. También es posible inicializar espacios de nombres adicionales dentro o fuera del espacio de nombres "dojo", lo que permite ampliar el dojo o desarrollar espacios de nombres privados para bibliotecas y aplicaciones de terceros. Un paquete dojo puede contener muchos archivos. Cualquier paquete o archivo puede definir dependencias en otros archivos o paquetes. Cuando se carga un paquete de este tipo, todas las dependencias necesarias se cargan automáticamente.
Dojo proporciona un almacén de datos abstracto del lado del cliente llamado Dojo Storage. Dojo Storage permite que las aplicaciones web almacenen megabytes de datos en el lado del cliente, de forma permanente y segura, con derechos de usuario. Dojo Storage se ha implementado para la gran mayoría de los navegadores web más utilizados, incluidos Internet Explorer , Mozilla Firefox y Safari . Una vez incluida en una página web, Dojo Storage determina el método más apropiado para almacenar la información. Firefox 2 usa una interfaz nativa, otros navegadores usan un subprograma Flash oculto . Dado que Flash 6+ está instalado en aproximadamente el 95 % de las computadoras en todo el mundo, [1] este mecanismo de almacenamiento es accesible para la mayoría. Para aquellas aplicaciones web que se cargan desde el sistema de archivos (es decir, URL =archivo://...), Dojo Storage utilizará XPCOM de forma transparente en Firefox o ActiveX en Internet Explorer . El programador que usa dojo no tiene que pensar en los detalles de implementación, solo tiene en sus manos los métodos abstraídos put() y get().
Las primeras versiones de Dojo tenían la reputación de ser voluminosas y lentas de cargar. [2] Además, se requirió trabajo adicional para habilitar la carga entre dominios de Dojo, como a través de redes de entrega de contenido . Abordar estos problemas fue un objetivo de diseño importante para Dojo 1.7, que introdujo la carga asíncrona de módulos (AMD) y el cargador "nano". [3]
Dojo ha sido criticado durante mucho tiempo por su documentación incompleta, inexacta y desactualizada. Para abordar estos problemas, los desarrolladores han realizado muchas correcciones en la documentación de la versión 1.8, incluidos nuevos manuales, el navegador API, nuevos capítulos y la actualización de la mayoría de los ejemplos de código para ajustarse al estilo de carga de módulos asincrónicos . [4] [5]
Se han escrito varios libros sobre Dojo, pero casi todos tratan sobre Dojo 1.3 o anterior, y muchos de los libros están obsoletos. El soporte de AMD y la refactorización relacionada de la aplicación no están cubiertos, los ejemplos de código en estos libros no se aplican bien a las versiones modernas del marco y las prácticas descritas no son buenas. Muchos autores esperan el lanzamiento de Dojo 2.0 antes de publicar algo nuevo. [6]
Muchos argumentan que Dojo es significativamente más difícil de aprender y comenzar que la biblioteca jQuery más popular . [7] [8]
El coautor de Dojo, Dylan Scheinmann, explica esto como una diferencia de opinión:
Por supuesto, es mucho más fácil aprender algo pequeño que algo que hace más, pero nuestros usuarios más exigentes están llegando rápidamente a la conclusión de que un aprendizaje más completo ahora ahorra muchas horas en el futuro para cosas que Dojo facilita.
Texto original (inglés)[ mostrarocultar] Sin duda, es más fácil aprender algo que es más pequeño que algo que hace más, pero nuestros ávidos usuarios señalan rápidamente que un poco más de aprendizaje por adelantado les ahorra incontables horas de cosas que Dojo facilita.Los usuarios de versiones anteriores tuvieron dificultades para migrar a la versión 1.0 después de que el conjunto de herramientas se reescribiera por completo. El paso a AMD en versiones recientes ha creado un problema similar. Los desarrolladores de Dojo se esforzaron mucho en la compatibilidad con versiones anteriores, a pesar de la evolución bastante rápida del marco, en el que gran parte de la API actual, aunque obsoleta, todavía es compatible. A pesar de esto, muy a menudo, al actualizar, los usuarios descubren que no todo salió tan bien como esperaban.
Se espera que la próxima versión 2.0 elimine partes de la API obsoleta, pero seguirá siendo compatible en su mayoría con la versión 1.8.
IBM [9] y Sun Microsystems [10] han anunciado soporte oficial para Dojo, incluidas contribuciones al desarrollo de la biblioteca principal. La Fundación Dojo es una organización sin fines de lucro creada para apoyar y promover Dojo. Sus miembros y patrocinadores son:
JavaScript | |
---|---|
Ideas | |
compiladores | |
Motores | |
Bibliotecas y marcos | |
Editores | |
Instrumentos |
|
Tecnologías relacionadas | |
Gente | |
Categoría |
de elementos GUI | Juegos de herramientas (conjuntos)|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
nivel bajo |
| ||||||||||||||||||||||||||
alto nivel |
|