Dojo Toolkit

from Wikipedia, the free encyclopedia
Dojo Toolkit

Dojo Toolkit logo
Basic data

developer Dojo Foundation
Publishing year 2004
Current  version 1.14
(August 13, 2018)
operating system platform independent
programming language JavaScript
category Class library
License BSD license , Academic Free License
German speaking Yes
dojotoolkit.org

The Dojo Toolkit is a free , modular JavaScript - library that the rapid development of JavaScript or Ajax -based applications and websites used. The project was started in 2004 by Alex Russell, Dylan Schiemann, David Schontzler and others. A multiple license allows both the BSD license and the Academic Free License . The Dojo Foundation is a non-profit organization that aims to disseminate the toolkit.

The toolkit consists of three components. The main part of the Dojo provides basic tools such as For example, a simplified handling of the DOM , arrays , Ajax, events, etc., as offered by most JavaScript libraries. The second part, called Dijit, contains prefabricated components that are intended to make it easy to create uniform, frequently used, graphical user interfaces according to the modular system. Finally, there is DojoX, which provides more far-reaching components, which, however, are at least partially to be regarded as experimental.

Features

Widgets

At Dojo, widgets run under the umbrella term Dijit and are ready-made building blocks from JavaScript, HTML and CSS that are used to incorporate various browser-independent features in websites:

  • Menus, tabs and tooltips
  • Sortable tables, dynamic charts and 2D vector graphics
  • Animation effects
  • Tree structures with drag-and-drop functionality
  • Various easy-to-use forms and routines for validating form data
  • Clock and calendar functions
  • An online editor for formatted text
  • A set of widgets that support accessible websites according to WAI-ARIA for visually impaired users.

Asynchronous communication

An important feature of Ajax applications is the asynchronous communication between browser and server: the content of a page is updated without the page having to be reloaded. This is traditionally done using browser-dependent JavaScript instructions ( XMLHttpRequest ). Dojo uses a wrapper (dojo.io.bind) for abstraction, in which the various implementations are encapsulated and which supports other transport mechanisms (such as hidden inline frames ) and a number of data formats.

Modular system

Dojo offers a package system in which the modular structure of functionality is broken down into individual packages and sub-packages. Dojo's bottom bootstrap script initializes a root namespace “dojo” and below that a number of hierarchical package namespaces such as “io” and “event” under one. After that, each Dojo package can be loaded using appropriate functions. It is also possible to initialize additional namespaces within the “dojo” namespace or parallel to it, so that Dojo can be expanded with additional packages developed by your own or by third-party providers.

Dojo packages can consist of multiple files. Each package can specify which other packages it depends on so that these are also loaded. Dojo's own build also allows packages from several domains to be loaded at the same time.

Dojo provides a mechanism by which "profiles" can be created: the creation process reads in a list of packages and, using Apache Ant , creates a single compressed JavaScript file that contains those packages and everything they depend on. This allows all the necessary code to be loaded and initialized at once, and also allows it to be cached . (Most browsers do not cache files that come in via XMLHttpRequest.) Pre-built profiles for some common use cases are available for download.

Client-side data storage

In addition to functions that support reading and writing of cookies , Dojo also provides a local client-side abstraction called Dojo Storage, which allows web applications to store data on the client computer with the consent of the user. How this is done depends on the browser. In Firefox 2, persistent data storage is provided. With other browsers an invisible Flash program is used for this. For applications that are loaded from the local file system (i.e. from a URL according to the pattern file://), Dojo Storage works with XPCOM in Firefox and ActiveX in Internet Explorer . As opposed to the programmer, these different methods are encapsulated in a virtual hash table.

Server-side data storage

Dojo includes a number of implementations for accessing data stored on the server, including read-only CSV tables, OPML files, and data hosted on YahooStore and Delicious ; also read-write access in SPARQL to RDF servers such as the application server Rhizome .

Development tools

The integrated development environments Aptana or Komodo can be used for comfortable work with Dojo . The WYSIWYG environment WaveMaker Visual Ajax Studio uses some widgets from the Dojo Toolkit 1.0. The Dojo Foundation project GeneralInterface provides the GeneralInterface Builder which, in addition to the GeneralInterface framework, also integrates Dojo.

Foundation and sponsors

The Dojo Toolkit is supported by IBM , Sun Microsystems , AOL and other companies. Zend Technologies has integrated Dojo into the Zend Framework since V1.6 (Dojo is included).

The Dojo Foundation is a non-profit organization, the purpose of which is to support open source projects and their collaboration with one another.

Members and sponsors are:

literature

  • James Harmon: Dojo , Prentice Hall Computer, July 2008
  • Matthew Russell: Dojo: The Definitive Guide , O'Reilly, June 2008
  • Craig Riecke, Rawid Gill, Alex Russell: Mastering Dojo , Pragmatic Programmers, June 2008
  • Michael Seemann: Dojo Toolkit quick + compact , Developer . Press , February 2007

Web links

Individual evidence

  1. http://www.opensource.org/licenses/academic.php
  2. http://www.sitepen.com/blog/2010/03/03/general-interface-dojo-integration-and-runtime-metadata/