Dojo

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 15 de septiembre de 2018; las comprobaciones requieren 6 ediciones .
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.

Características

Elementos de la interfaz

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:

Comunicación asíncrona

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.

Programación JavaScript

Muchas funciones de dojo facilitan la programación de JavaScript.

Sistema de paquetes

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.

Almacenamiento del lado del cliente

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().

Crítica

Cargando

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]

Documentación

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]

Curva de aprendizaje

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.

Estabilidad de la API

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.

Fundación Dojo y patrocinio

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:

Véase también

Notas

  1. Penetración de la versión de Adobe Flash Player = . Archivado desde el original el 19 de febrero de 2012.
  2. Una entrevista con el creador de Dojo Toolkit, Dylan Schiemann . Nettuts+ (16 de agosto de 2012). Consultado el 21 de noviembre de 2012. Archivado desde el original el 27 de noviembre de 2012.
  3. ¡Lanzamiento de Dojo 1.7! . Blog Dojo Toolkit (1 de enero de 2011). Consultado el 21 de noviembre de 2012. Archivado desde el original el 3 de noviembre de 2012.
  4. Lo que viene en Dojo 1.8 . Blog Dojo Toolkit (9 de febrero de 2012). Consultado el 21 de noviembre de 2012. Archivado desde el original el 15 de noviembre de 2012.
  5. cuál es la razón de ser del dojo 2.0 . dojo-contributors (11 de octubre de 2012). Consultado el 29 de noviembre de 2012.
  6. Schiemann, Dylan jQuery y la viabilidad a largo plazo de Dojo . Dojo-interés (30 de abril de 2012). Consultado el 29 de noviembre de 2012. Archivado desde el original el 29 de octubre de 2014.
  7. ¿Crítica al Dojo? (enlace no disponible) . Cactus de siete pies de altura (17 de agosto de 2012). Consultado el 21 de noviembre de 2012. Archivado desde el original el 23 de noviembre de 2012.  
  8. Dojo o jQuery . NotADojoGuru (6 de abril de 2012). Consultado el 21 de noviembre de 2012. Archivado desde el original el 17 de diciembre de 2013.
  9. "Comunicado de prensa en www.marketwire.com" (enlace descendente) . Archivado desde el original el 15 de junio de 2006. 
  10. ^ "Comunicado de prensa en prnewswire.com" . Archivado desde el original el 19 de febrero de 2012.

Enlaces