Dojo Toolkit

Dojo Toolkit
Dojo Toolkit
Logo des Dojo Toolkits
Entwickler Dojo Foundation
Aktuelle Version 1.6.1
(1. Juni 2011)
Betriebssystem plattformunabhängig
Programmier­sprache JavaScript
Kategorie Klassenbibliothek
Lizenz BSD-Lizenz, Academic Free License[1]
Deutschsprachig nein
dojotoolkit.org

Das Dojo Toolkit ist eine freie, modulare JavaScript-Bibliothek, die zur raschen Entwicklung von JavaScript- oder Ajax-basierenden Anwendungen und Websites dient. Begonnen wurde das Projekt 2004 von Alex Russell, Dylan Schiemann, David Schontzler und anderen. Eine Mehrfachlizenz erlaubt sowohl die BSD-Lizenz als auch die Academic Free License. Die Dojo Foundation ist eine gemeinnützige Organisation, die die Verbreitung des Toolkits zum Ziel hat.

Das Toolkit besteht aus drei Komponenten. Der Hauptteil Dojo stellt grundlegende Werkzeuge zur Verfügung, wie z.B. eine vereinfachte Handhabung des DOM, von Arrays, AJAX, Ereignissen usw, wie es die meisten Javascript-Bibliotheken bieten. Der zweite Teil namens Dijit enthält vorgefertigte Komponenten, die es ermöglichen sollen einfach, einheitliche, häufig benutzte, grafische Benutzeroberflächen nach dem Baukastensystem zu erstellen. Schließlich gibt es noch DojoX, das noch weiterreichende Komponenten zur Verfügung stellt, die allerdings zumindest teilweise als experimentell anzusehen sind.

Inhaltsverzeichnis

Features

Widgets

Widgets laufen bei Dojo unter dem Überbegriff Dijit und sind vorgefertigte Bausteine aus JavaScript, HTML und CSS, die dazu dienen, verschiedene browserunabhängige Features in Websites einzubauen:

  • Menüs, Tabs und Tooltips
  • Sortierbare Tabellen, dynamische Diagramme und 2D-Vektorgrafik
  • Animationseffekte
  • Baumstrukturen mit Drag-and-Drop-Funktionalität
  • Verschiedene bequem zu bedienende Formulare und Routinen zur Validierung von Formulardaten
  • Uhr- und Kalenderfunktionen
  • Ein Online-Editor für formatierte Texte
  • Ein Satz von Widgets, die barrierefreie Webseiten gemäß WAI-ARIA für sehbehinderte User unterstützen.

Asynchrone Kommunikation

Ein wichtiges Merkmal von Ajax-Anwendungen ist die asynchrone Kommunikation zwischen Browser und Server: Der Inhalt einer Seite wird aktualisiert, ohne dass die Seite neu geladen werden muss. Herkömmlich wird das über browserabhängige JavaScript-Anweisungen (XMLHttpRequest) getan. Dojo benutzt zur Abstraktion hiervon einen Wrapper (dojo.io.bind), in dem die verschiedenen Implementierungen gekapselt sind, und der noch weitere Transportmechanismen (wie versteckte Inlineframe) und eine Anzahl von Datenformaten unterstützt.

Modulsystem

Dojo bietet ein Paketsystem, bei dem der modulare Aufbau von Funktionalität in einzelne Pakete und Unterpakete gegliedert ist. Das unterste Bootstrap-Skript von Dojo initialisiert einen Wurzel-Namensraum „dojo“ und darunter eine Reihe von hierarchischen Paket-Namensräumen wie „io“ und „event“ unter einem. Danach kann jedes Dojo-Paket durch entsprechende Funktionen geladen werden. Es ist auch möglich, zusätzliche Namensräume innerhalb des „dojo“-Namensraumes oder parallel dazu zu initialisieren, so dass Dojo durch eigene oder von Drittanbietern entwickelte Zusatzpakete erweitert werden kann.

Dojo-Pakete können aus mehreren Dateien bestehen. Jedes Paket kann spezifizieren, von welchen anderen Paketen es abhängt, so dass diese mitgeladen werden. Ein eigener Build von Dojo erlaubt auch das Zuladen von Paketen aus mehreren Domains zugleich.

Dojo stellt einen Mechanismus zur Verfügung, mit dem „Profile“ erstellt werden können: Beim Erstellungsprozess wird eine Liste von Paketen eingelesen und mithilfe von Apache Ant wird eine einzelne komprimierte JavaScript-Datei erzeugt, die diese Pakete und alles, wovon sie abhängen, enthält. Dies erlaubt es, den gesamten notwendigen Code auf einmal zu laden und zu initialisieren, und ermöglicht es, ihn auch zu cachen. (Die meisten Browser cachen keine Dateien, die über XMLHttpRequest hereinkommen.) Vorgefertigte Profile für einige gängige Anwendungsfälle stehen zum Herunterladen bereit.

Client-seitige Datenspeicherung

Außer Funktionen, die das Lesen und Schreiben von Cookies unterstützen, stellt Dojo auch eine lokale Client-seitige Abstraktion namens Dojo Storage zur Verfügung, die es Web-Anwendungen erlaubt, mit Einwilligung des Benutzers Daten auf dem Client-Rechner zu speichern. Wie dies geschieht, ist browserabhängig. Bei Firefox 2 ist eine persistente Datenspeicherung vorgesehen. Bei anderen Browsern wird ein unsichtbares Flash-Programm dafür verwendet. Bei Anwendungen, die aus dem lokalen Dateisystem geladen werden (d. h. von einer URL nach dem Muster file://), arbeitet Dojo Storage beim Firefox mit XPCOM und beim Internet Explorer mit ActiveX. Gegenüber dem Programmierer sind diese unterschiedlichen Verfahren in eine virtuelle Hashtabelle gekapselt.

Server-seitige Datenspeicherung

Dojo umfasst eine Reihe von Implementierungen zum Zugriff auf Server-seitig gespeicherte Daten, darunter solche mit nur lesendem Zugriff auf CSV-Tabellen, OPML-Dateien und bei YahooStore und Delicious gehostete Daten; außerdem Schreib-Lese-Zugriff in SPARQL auf RDF-Server wie den Application Server Rhizome.

Entwicklungswerkzeuge

Zur komfortablen Arbeit mit Dojo können die Integrierten Entwicklungsumgebungen Aptana oder Komodo verwendet werden. Die WYSIWYG-Umgebung WaveMaker Visual Ajax Studio verwendet einige Widgets des Dojo-Toolkits 1.0. Das Dojofoundation-Projekt GeneralInterface stellt den GeneralInterface-Builder bereit, welcher zusätzlich zum GeneralInterface-Framework auch Dojo integriert.[2]

Stiftung und Sponsoren

Das Dojo Toolkit wird von IBM, Sun Microsystems, AOL und anderen Firmen unterstützt. Zend Technologies hat Dojo in das Zend Framework seit V1.6 integriert (Dojo wird mit ausgeliefert).

Die Dojo Foundation ist eine gemeinnützige Organisation, deren Stiftungszweck es ist, Open Source-Projekte und ihre Zusammenarbeit miteinander zu unterstützen.

Mitglieder und Sponsoren sind:

Literatur

  • James Harmon: Dojo, Prentice Hall Computer, Juli 2008
  • Matthew Russell: Dojo: The Definitive Guide, O'Reilly, Juni 2008
  • Craig Riecke, Rawid Gill, Alex Russell: Mastering Dojo, Pragmatic Programmers, Juni 2008
  • Michael Seemann: Dojo Toolkit schnell + kompakt, Entwickler.Press, Februar 2007

Weblinks

Einzelnachweise

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

Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Dojo Toolkit — Developer(s) Dojo Foundation Stable release 1.6.1 / May 20, 2011; 5 months ago ( …   Wikipedia

  • Dojo toolkit — Saltar a navegación, búsqueda Dojo Toolkit Desarrollador Dojo Foundation http://dojotoolkit.org Información general …   Wikipedia Español

  • Dojo Toolkit — Dojo est un framework open source en JavaScript. Son but est le développement rapide d applications en Javascript exécutées côté client et communiquant avec le serveur avec une granularité inférieure à la page grâce à Ajax. Dojo est sous double… …   Wikipédia en Français

  • Dojo — Toolkit Тип JavaScript toolkit Разработчик Dojo Foundation …   Википедия

  • Dojo (disambiguation) — Dojo can refer to: Dojo, training hall Dojo kun, rules of the hall Dojahng, Korean hall Dojo Toolkit, JavaScript toolkit Coding Dojo, Coding Dojo for software developers Dojo (instrument), a musical instrument Dojo Kanojo Cho, a character in the… …   Wikipedia

  • Toolkit — may refer to an assembly of tools.It may also refer to:* Widget toolkit * Toolkits for User InnovationSpecific toolkits include:* Abstract Window Toolkit * Accessibility Toolkit * Adventure Game Toolkit * B Toolkit * Battlefield Mod Development… …   Wikipedia

  • Dôjô — Dojo  Pour l’article homonyme, voir Dojo Toolkit.  Un Dojo de Kendo Le Noma Dōjō en 2006 : certains éléments majeurs sont de l …   Wikipédia en Français

  • Dōjō — Dojo  Pour l’article homonyme, voir Dojo Toolkit.  Un Dojo de Kendo Le Noma Dōjō en 2006 : certains éléments majeurs sont de l …   Wikipédia en Français

  • Dojo — Saltar a navegación, búsqueda El término Dojo, puede referirse a: Dōjō, lugar de meditación y práctica de artes marciales Dojo toolkit, biblioteca JavaScript para el desarrollo de aplicaciones web AJAX Obtenido de Dojo Categoría:… …   Wikipedia Español

  • Dojo — Das Wort Dojo bezeichnet: Dōjō, die Übungshalle in den japanischen Kampfkünsten; dies ist auch teilweise die Bezeichnung für die Meditationshalle im japanischen Zen; das Dojo Toolkit, ein JavaScript Toolkit zum Entwickeln von Webanwendungen.… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”