fbpx
Wikipedia

Dojo toolkit

Dojo es un framework que contiene API y widgets (controles) para facilitar el desarrollo de aplicaciones Web que utilicen tecnología AJAX. Contiene un sistema de empaquetado inteligente, los efectos de UI, drag and drop API, widget API, abstracción de eventos, almacenamiento de API en el cliente, e interacción de API con AJAX.

Dojo Toolkit
Parte de biblioteca de JavaScript
Información general
Tipo de programa Biblioteca de JavaScript
Desarrollador js.foundation
Lanzamiento inicial 2004
Licencia Licencia BSD y AFL
Idiomas Inglés
Información técnica
Programado en JavaScript
Versiones
Última versión estable 1.13.0 ( 26 de septiembre de 2017)
Enlaces
Sitio web oficial
Repositorio de código

Resuelve asuntos de usabilidad comunes como pueden ser la navegación y detección del navegador, soportar cambios de URL en la barra de URLs para luego regresar a ellas (bookmarking), y la habilidad de degradar cuando AJAX/JavaScript no es completamente soportado en el cliente. Es conocido como "la navaja suiza del ejército de las bibliotecas Javascript". Proporciona una gama más amplia de opciones en una sola biblioteca JavaScript y es compatible con navegadores antiguos.

Origen y desarrollo editar

Dojo Toolkit tiene su origen en 2004 con Alex Russell, quien inició un proyecto para mejorar el desarrollo de DHTML. Para ello contactó con otros programadores, de los cuales destacan David Schontzler y Dylan Schiemann. Ellos, junto con Russell, son considerados los fundadores de este framework. Sin embargo, no fueron los únicos: una amplia comunidad de desarrolladores quisieron contribuir en el proyecto, que concluyó en la formación de Dojo Foundation.

A día de hoy se han realizado ocho grandes actualizaciones en las que han participado sesenta desarrolladores con más de un millón de descargas.[1]

Es de destacar que esta biblioteca es de código abierto y se puede descargar de forma gratuita en su página oficial. La licencia nos permite crear aplicaciones, utilizarlo en productos comerciales y modificarlo. Cuenta con el patrocinio de IBM, Google, AOL y Nexaweb.[2]

Estas son algunas razones por las que esta caja de herramientas está cubierta por una gran comunidad, con multitud de desarrolladores e información que la hacen muy accesible y transparente de cara a nuevos usuarios.[1]​ De hecho, cualquier usuario puede navegar por el chat IRC y conversar con contribuidores del proyecto e incluso participar en reuniones oficiales para discutir temas estratégicos.[2]

Características editar

Complementos editar

Los complementos de Dojo son componentes preempaquetados de código JavaScript, HTML y CSS que pueden ser usados para enriquecer aplicaciones web.

Comunicación asíncrona editar

Una característica importante de las aplicaciones AJAX es la comunicación asíncrona entre el navegador y el servidor. Tradicionalmente, se realizaba con el comando JavaScript XMLHttpRequest. Dojo provee de una capa de abstracción (dojo.io.bind) para varios navegadores web con la que se pueden usar otros transportes (como IFrames ocultos) y diferentes formatos de datos. De esta forma podemos obtener los campos que se van a enviar como parámetros del formulario de una manera sencilla.

Sistema de paquetes editar

Dojo provee de un sistema de paquetes para facilitar el desarrollo modular. El script de inicio inicializa una serie de jerarquías de paquetes de espacios de nombre (io, event, etc.) bajo el paquete raíz dojo. Después de la inicialización del paquete dojo, cualquier otro paquete puede ser cargado (vía XMLHttpRequest o cualquier otro transporte similar) usando las utilidades ofrecidas en el arranque. También es posible inicializar paquetes adicionales dentro o al mismo nivel que el paquete dojo, permitiendo extensiones o bibliotecas de terceros.

Los paquetes de Dojo pueden contener múltiples archivos. Cualquier paquete o archivo puede depender de otro. En este caso, cuando el paquete es cargado, cualquier dependencia será también cargada.

Dojo también brinda una manera de crear perfiles; el sistema ofrece una lista de paquetes y usa Apache Ant para crear un archivo JavaScript comprimido que contiene dichos paquetes y dependencias. De esta manera se tiene todo el código necesario para ser cargado y es inicializado de una sola vez, permitiendo así el cacheado (la mayoría de los navegadores web no permiten el cacheado de archivos vía XMLHttpRequest).

Almacenamiento de datos en el cliente editar

Adicionalmente, ofrece funciones para leer y escribir cookies, proporcionando en el lado cliente una abstracción llamada Dojo Storage. Dojo Storage permite a la aplicación web almacenar datos en el lado cliente, persistencia y seguridad. Cuando se incluye en una página web, determina cual es el mejor método para almacenar la información. Cuando la aplicación web ha sido cargada desde el sistema de archivos (por ejemplo desde file://URL), Dojo Storage usa de manera transparente XPCOM en Firefox y ActiveX en Internet Explorer para mantener la persistencia de la información. El desarrollador que use Dojo Storage no se tiene que preocupar de esto, ya que Dojo tiene una capa de abstracción con métodos put() y get().

Almacenamiento en el servidor editar

Desde enero de 2007, Dojo incluye las siguientes implementaciones de almacenamiento de datos en el paquete dojo.data:

  • CsvStore: almacenamiento de solo lectura y acceso CSV.
  • OpmlStore: almacenamiento de solo lectura y lectura jerárquica desde archivos en formato OPML.
  • YahooStore: almacenamiento de solo lectura que obtiene los resultado del servicio web del buscador de Yahoo Search!.
  • DeliciousStore: almacenamiento de solo lectura que obtiene los marcadores del servicio web que ofrece Del.icio.us.
  • RdfStore: almacenamiento de solo lectura que usa SPARQL para comunicarse con el servidor de datos RDF.

Soporte para Adobe Integrated Runtime (AIR) editar

Dojo permite usar aplicaciones Adobe AIR basadas en JavaScript. Ha sido modificada para satisfacer los requisitos de seguridad de Adobe.

La consultora Sitepen ha desarrollado una aplicación Adobe AIR llamada Dojo Toolbox usando Dojo, en la que se incluye un API y un sistema de construcción gráfico. Generalmente, el sistema de construcción se ejecuta dentro de Rhino, pero esta aplicación AIR puede ejecutarse desde el mismo AIR, sin el uso de Java.

Arquitectura editar

Como caja de herramientas, la arquitectura de Dojo Toolkit consta de una serie de componentes principales.[2]

Dojo Base editar

Dojo Base es el kernel de Dojo: una biblioteca compacta y optimizada que, entre otras muchas cosas, ofrece utilidades AJAX y un sistema de paquetes y herramientas para crear y manipular jerarquías de herencia. La Base se recoge en un único archivo llamado dojo.js. Todas las funcionalidades de Base son accesibles a través de funciones o atributos dojo.*.

There is no Dojo without Base; everything in the toolkit depends or builds on it one way or another.
Matthew Russell, Dojo: the definitive guide

También se pueden añadir nuevos paquetes, que pueden estar dentro o al mismo nivel que el paquete base dojo.

Dojo Core editar

Dojo Core se construye sobre Dojo Base y ofrece soluciones más avanzadas como son los efectos de animación, funcionalidades "drag and drop" o el manejo de cookies. Cualquier recurso externo a dojo.js que se tiene que importar de manera explícita es parte de Core. El sistema de paquetes de Dojo utiliza mecanismos simples como los #include de C o import de Java para acceder a sus servicios.

Dijit editar

Dijit (Dojo Widget) es una biblioteca de widgets para crear interfaces gráficos. Está construida directamente sobre Dojo Core y en ocasiones no requiere de código JavaScript para ser utilizada. Los widgets son altamente portables y se pueden compartir fácilmente en cualquier servidor o incluso funcionar localmente sin servidor web mediante el protocolo file//.

DojoX editar

DojoX (Dojo Extensions) es una colección independiente de subproyectos en estado de incubación que no encajan a la perfección en Dojo Core o Dijit. Cada subproyecto suele incluir un archivo readme con información sobre su estado. Se trata de la parte del proyecto abierta a nuevas ideas. Su independencia permite que las altas expectativas y la estabilidad del resto de componentes de Dojo Toolkit no se vean comprometidas.

Util editar

Util es una colección de utilidades que incluye una unidad de prueba y herramientas para crear versiones personalizadas de Dojo. Estas herramientas pueden disminuir el tamaño del código e incluir capas con distintos archivos JavaScript. Esta disminución se consigue a través de ShrinkSafe, un eficiente motor de compresión independiente de Dojo.

Desarrollo con Dojo editar

El desarrollo con Dojo puede hacerse bien con los IDE Aptana o Komodo. Existe una versión para la comunidad de Aptana y una versión de 21 día de prueba de Komodo. Los plugins de Dojo están disponibles para ambos (actualmente Dojo 0.4.3 y 0.9.0). Para el desarrollo WYSIWYG usando Dojo, se puede utilizar la aplicación de código abierto WaveMaker Visual Ajax Studio.

Fundación Dojo y patrocinio editar

IBM y Sun Microsystems han anunciado soporte oficial para Dojo, incluyendo contribución de código.

Zend Technologies, la compañía detrás del núcleo de PHP, anunció una asociación con Dojo para incorporarlo en el framework Zend.

La fundación Dojo es una asociación sin ánimo de lucro fundada para ayudar a proyectos de código abierto. Su principal objetivo es la ayuda para las compañías en su adopción y animar el uso de los proyectos con los que colabora.

Sus patrocinadores son:

La fundación Dojo también colabora en los siguientes proyectos:

  • Persevere
  • OpenRecord
  • Cometd
  • DWR
  • Psych Desktop (renombrado como Lucid Desktop)

Véase también editar

  • Dijit Editor
  • Druid OSE

Referencias editar

  1. Página oficial Dojo Toolkit
  2. Rusell, Matthew (2008). Dojo: the definitive guide (en inglés). Sebastopol, California: O'Reilly Media. 

Enlaces externos editar

    •   Datos: Q956343

    dojo, toolkit, dojo, framework, contiene, widgets, controles, para, facilitar, desarrollo, aplicaciones, utilicen, tecnología, ajax, contiene, sistema, empaquetado, inteligente, efectos, drag, drop, widget, abstracción, eventos, almacenamiento, cliente, intera. Dojo es un framework que contiene API y widgets controles para facilitar el desarrollo de aplicaciones Web que utilicen tecnologia AJAX Contiene un sistema de empaquetado inteligente los efectos de UI drag and drop API widget API abstraccion de eventos almacenamiento de API en el cliente e interaccion de API con AJAX Dojo ToolkitParte de biblioteca de JavaScriptInformacion generalTipo de programaBiblioteca de JavaScriptDesarrolladorjs foundationLanzamiento inicial2004LicenciaLicencia BSD y AFLIdiomasInglesInformacion tecnicaProgramado enJavaScriptVersionesUltima version estable1 13 0 26 de septiembre de 2017 EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata Resuelve asuntos de usabilidad comunes como pueden ser la navegacion y deteccion del navegador soportar cambios de URL en la barra de URLs para luego regresar a ellas bookmarking y la habilidad de degradar cuando AJAX JavaScript no es completamente soportado en el cliente Es conocido como la navaja suiza del ejercito de las bibliotecas Javascript Proporciona una gama mas amplia de opciones en una sola biblioteca JavaScript y es compatible con navegadores antiguos Indice 1 Origen y desarrollo 2 Caracteristicas 2 1 Complementos 2 2 Comunicacion asincrona 2 3 Sistema de paquetes 2 4 Almacenamiento de datos en el cliente 2 5 Almacenamiento en el servidor 2 6 Soporte para Adobe Integrated Runtime AIR 3 Arquitectura 3 1 Dojo Base 3 2 Dojo Core 3 3 Dijit 3 4 DojoX 3 5 Util 4 Desarrollo con Dojo 5 Fundacion Dojo y patrocinio 6 Vease tambien 7 Referencias 8 Enlaces externosOrigen y desarrollo editarDojo Toolkit tiene su origen en 2004 con Alex Russell quien inicio un proyecto para mejorar el desarrollo de DHTML Para ello contacto con otros programadores de los cuales destacan David Schontzler y Dylan Schiemann Ellos junto con Russell son considerados los fundadores de este framework Sin embargo no fueron los unicos una amplia comunidad de desarrolladores quisieron contribuir en el proyecto que concluyo en la formacion de Dojo Foundation A dia de hoy se han realizado ocho grandes actualizaciones en las que han participado sesenta desarrolladores con mas de un millon de descargas 1 Es de destacar que esta biblioteca es de codigo abierto y se puede descargar de forma gratuita en su pagina oficial La licencia nos permite crear aplicaciones utilizarlo en productos comerciales y modificarlo Cuenta con el patrocinio de IBM Google AOL y Nexaweb 2 Estas son algunas razones por las que esta caja de herramientas esta cubierta por una gran comunidad con multitud de desarrolladores e informacion que la hacen muy accesible y transparente de cara a nuevos usuarios 1 De hecho cualquier usuario puede navegar por el chat IRC y conversar con contribuidores del proyecto e incluso participar en reuniones oficiales para discutir temas estrategicos 2 Caracteristicas editarComplementos editar Los complementos de Dojo son componentes preempaquetados de codigo JavaScript HTML y CSS que pueden ser usados para enriquecer aplicaciones web Menus pestanas y tooltips Tablas ordenables graficos dinamicos y dibujado de vectores 2D Efectos de animacion y la posibilidad de crear animaciones personalizables Soporte para arrastrar y soltar Formularios y rutinas de validacion para los parametros Calendario selector de tiempo y reloj Editor en linea de texto enriquecido Nucleo de componentes dijit accesible desde versiones anteriores y lector de pantalla Comunicacion asincrona editar Una caracteristica importante de las aplicaciones AJAX es la comunicacion asincrona entre el navegador y el servidor Tradicionalmente se realizaba con el comando JavaScript XMLHttpRequest Dojo provee de una capa de abstraccion dojo io bind para varios navegadores web con la que se pueden usar otros transportes como IFrames ocultos y diferentes formatos de datos De esta forma podemos obtener los campos que se van a enviar como parametros del formulario de una manera sencilla Sistema de paquetes editar Dojo provee de un sistema de paquetes para facilitar el desarrollo modular El script de inicio inicializa una serie de jerarquias de paquetes de espacios de nombre io event etc bajo el paquete raiz dojo Despues de la inicializacion del paquete dojo cualquier otro paquete puede ser cargado via XMLHttpRequest o cualquier otro transporte similar usando las utilidades ofrecidas en el arranque Tambien es posible inicializar paquetes adicionales dentro o al mismo nivel que el paquete dojo permitiendo extensiones o bibliotecas de terceros Los paquetes de Dojo pueden contener multiples archivos Cualquier paquete o archivo puede depender de otro En este caso cuando el paquete es cargado cualquier dependencia sera tambien cargada Dojo tambien brinda una manera de crear perfiles el sistema ofrece una lista de paquetes y usa Apache Ant para crear un archivo JavaScript comprimido que contiene dichos paquetes y dependencias De esta manera se tiene todo el codigo necesario para ser cargado y es inicializado de una sola vez permitiendo asi el cacheado la mayoria de los navegadores web no permiten el cacheado de archivos via XMLHttpRequest Almacenamiento de datos en el cliente editar Adicionalmente ofrece funciones para leer y escribir cookies proporcionando en el lado cliente una abstraccion llamada Dojo Storage Dojo Storage permite a la aplicacion web almacenar datos en el lado cliente persistencia y seguridad Cuando se incluye en una pagina web determina cual es el mejor metodo para almacenar la informacion Cuando la aplicacion web ha sido cargada desde el sistema de archivos por ejemplo desde file URL Dojo Storage usa de manera transparente XPCOM en Firefox y ActiveX en Internet Explorer para mantener la persistencia de la informacion El desarrollador que use Dojo Storage no se tiene que preocupar de esto ya que Dojo tiene una capa de abstraccion con metodos put y get Almacenamiento en el servidor editar Desde enero de 2007 Dojo incluye las siguientes implementaciones de almacenamiento de datos en el paquete dojo data CsvStore almacenamiento de solo lectura y acceso CSV OpmlStore almacenamiento de solo lectura y lectura jerarquica desde archivos en formato OPML YahooStore almacenamiento de solo lectura que obtiene los resultado del servicio web del buscador de Yahoo Search DeliciousStore almacenamiento de solo lectura que obtiene los marcadores del servicio web que ofrece Del icio us RdfStore almacenamiento de solo lectura que usa SPARQL para comunicarse con el servidor de datos RDF Soporte para Adobe Integrated Runtime AIR editar Dojo permite usar aplicaciones Adobe AIR basadas en JavaScript Ha sido modificada para satisfacer los requisitos de seguridad de Adobe La consultora Sitepen ha desarrollado una aplicacion Adobe AIR llamada Dojo Toolbox usando Dojo en la que se incluye un API y un sistema de construccion grafico Generalmente el sistema de construccion se ejecuta dentro de Rhino pero esta aplicacion AIR puede ejecutarse desde el mismo AIR sin el uso de Java Arquitectura editarComo caja de herramientas la arquitectura de Dojo Toolkit consta de una serie de componentes principales 2 Dojo Base editar Dojo Base es el kernel de Dojo una biblioteca compacta y optimizada que entre otras muchas cosas ofrece utilidades AJAX y un sistema de paquetes y herramientas para crear y manipular jerarquias de herencia La Base se recoge en un unico archivo llamado dojo js Todas las funcionalidades de Base son accesibles a traves de funciones o atributos dojo There is no Dojo without Base everything in the toolkit depends or builds on it one way or another Matthew Russell Dojo the definitive guide Tambien se pueden anadir nuevos paquetes que pueden estar dentro o al mismo nivel que el paquete base dojo Dojo Core editar Dojo Core se construye sobre Dojo Base y ofrece soluciones mas avanzadas como son los efectos de animacion funcionalidades drag and drop o el manejo de cookies Cualquier recurso externo a dojo js que se tiene que importar de manera explicita es parte de Core El sistema de paquetes de Dojo utiliza mecanismos simples como los include de C o import de Java para acceder a sus servicios Dijit editar Dijit Dojo Widget es una biblioteca de widgets para crear interfaces graficos Esta construida directamente sobre Dojo Core y en ocasiones no requiere de codigo JavaScript para ser utilizada Los widgets son altamente portables y se pueden compartir facilmente en cualquier servidor o incluso funcionar localmente sin servidor web mediante el protocolo file DojoX editar DojoX Dojo Extensions es una coleccion independiente de subproyectos en estado de incubacion que no encajan a la perfeccion en Dojo Core o Dijit Cada subproyecto suele incluir un archivo readme con informacion sobre su estado Se trata de la parte del proyecto abierta a nuevas ideas Su independencia permite que las altas expectativas y la estabilidad del resto de componentes de Dojo Toolkit no se vean comprometidas Util editar Util es una coleccion de utilidades que incluye una unidad de prueba y herramientas para crear versiones personalizadas de Dojo Estas herramientas pueden disminuir el tamano del codigo e incluir capas con distintos archivos JavaScript Esta disminucion se consigue a traves de ShrinkSafe un eficiente motor de compresion independiente de Dojo Desarrollo con Dojo editarEl desarrollo con Dojo puede hacerse bien con los IDE Aptana o Komodo Existe una version para la comunidad de Aptana y una version de 21 dia de prueba de Komodo Los plugins de Dojo estan disponibles para ambos actualmente Dojo 0 4 3 y 0 9 0 Para el desarrollo WYSIWYG usando Dojo se puede utilizar la aplicacion de codigo abierto WaveMaker Visual Ajax Studio Fundacion Dojo y patrocinio editarIBM y Sun Microsystems han anunciado soporte oficial para Dojo incluyendo contribucion de codigo Zend Technologies la compania detras del nucleo de PHP anuncio una asociacion con Dojo para incorporarlo en el framework Zend La fundacion Dojo es una asociacion sin animo de lucro fundada para ayudar a proyectos de codigo abierto Su principal objetivo es la ayuda para las companias en su adopcion y animar el uso de los proyectos con los que colabora Sus patrocinadores son IBM Sun Microsystems JotSpot SitePen Renkoo AOL TurboAjax OpenLaszlo Nexaweb Bea SystemsLa fundacion Dojo tambien colabora en los siguientes proyectos Persevere OpenRecord Cometd DWR Psych Desktop renombrado como Lucid Desktop Vease tambien editarDijit Editor Druid OSEReferencias editar a b Pagina oficial Dojo Toolkit a b c Rusell Matthew 2008 Dojo the definitive guide en ingles Sebastopol California O Reilly Media Enlaces externos editarHerramientas DOJO nbsp Datos Q956343 Obtenido de https es wikipedia org w index php title Dojo toolkit amp oldid 150276028, wikipedia, wiki, leyendo, leer, libro, biblioteca,

    español

    , española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos