Dojo -Toolkit

Dojo Toolkit (vor Version 2), Dojo (seit Version 2)
Dojo toolkit logo.svg
Entwickler (en) Dojo Foundation
Erstveröffentlichung März 2005; Vor 17 Jahren[1]
Stabile Version
7.0.6 / 20. Januar 2021; Vor 18 Monaten[2]
Vorschau -Version
8.0.0-beta.7 / 27. April 2021; Vor 15 Monaten[3]
Repository Dojo Toolkit 1.x https://github.com/dojo/dojo
Dojo Framework 2+ https://github.com/dojo/framework
Geschrieben in Dojo nahm 1.x: JavaScriptAnwesend Dojo> = 2.x: Typoskript[4]
Betriebssystem Plattformübergreifend
Typ JavaScript Toolkit (oder Bibliothek)
Lizenz Das Modifizierte BSD -Lizenz oder der Akademische freie Lizenz (≥ 2,1)[5]
Webseite https://dojotoolkit.org, https://dojo.io/

Dojo -Toolkit (stilisiert als Dōjō Toolkit) ist ein Open Source modular JavaScript -Bibliothek (oder genauer gesagt JavaScript Toolkit) zur Erleichterung der schnellen Entwicklung von plattformübergreifend, javaScript/Ajax-basierte Anwendungen und Websites. Es wurde 2004 von Alex Russell, Dylan Schiemann, David Schontzler und anderen gestartet[1] und ist Dual-Lizenz unter dem Modifizierte BSD -Lizenz oder der Akademische freie Lizenz (≥ 2,1).[5]

Das Dojo Foundation war eine gemeinnützige Organisation mit dem Ziel, die Einführung des Toolkits zu fördern. Im Jahr 2016 fusionierte die Stiftung mit JQuery Grundlage zu werden JS Foundation.[6][7][8]

Überblick

Dojo ist a JavaScript Framework, das auf die vielen Bedürfnisse der groß angelegten clientseitigen Webentwicklung abzielt. Zum Beispiel stellt Dojo die Unterschiede zwischen verschiedenen Browsern ab, um APIs bereitzustellen, die auf allen arbeiten (es kann sogar auf dem Server unter ausgeführt werden Node.js); Es stellt ein Rahmen für die Definition von Codemodulen und die Verwaltung ihrer Interdependenzen fest. Es bietet Build -Tools zur Optimierung von JavaScript und CSS, Generierung von Dokumentation und Unit -Tests; es unterstützt Internationalisierung, Lokalisierung, und Barrierefreiheit; und es bietet eine reichhaltige Suite von häufig benötigten Dienstprogrammklassen und Widgets für Benutzeroberflächen.

Dojo ist völlig offen. Das gesamte Toolkit kann sein heruntergeladen als Reißverschluss und wird auch auf der gehostet Google CDN. Das Toolkit enthält neben Bildern und anderen Ressourcen ungefähr dreitausend JavaScript -Module.

Das Dojo -Toolkit ist in mehreren Teilen organisiert:

  • Dojo Enthält die Kern- und nicht-visuellen Module.
  • Dijit ist eine Bibliothek von Benutzerkörpernmodulen für Widgets und Layout.
  • Dojox Hält verschiedene Module, die noch nicht als stabil genug angesehen werden, um in einzubeziehen Dojo oder Dijit.
  • Util Beinhaltet Build-Tools wie Optimierung, Dokumentation, Stilprüfung und Tests.

Merkmale

Widgets

DOJO -Widgets sind Komponenten - bestehend aus JavaScript Code, Html Markup und CSS Stildeklarationen-die einen Multi-Browser liefern (nicht zu verwechseln mit Cross-Browser), interaktive Funktionen:

Asynchrone Kommunikation

Ein wichtiges Merkmal von AJAX -Anwendungen ist die asynchrone Kommunikation des Browsers mit dem Server: Informationen werden ausgetauscht und die Präsentation der Seite wird aktualisiert, ohne die gesamte Seite neu zu laden. Traditionell geschieht dies mit dem JavaScript -Objekt Xmlhttprequest. Dojo bietet eine abstrahiere Wrapper (dojo.xhr) rund um verschiedene Webbrowser -Implementierungen von xmlHttprequest und dojo.io Unterstützt auch andere Transporte (wie versteckt Iframes) und eine Vielzahl von Datenformaten. Unter Verwendung dieses Ansatzes ist es einfach, die Daten, die ein Benutzer in ein Formular "hinter den Kulissen" an den Server gesendet hat, zu haben. Der Server kann dann mit einem JavaScript -Code antworten, der die Präsentation der Seite aktualisiert.

Verpackungssystem

DOJO bietet ein Verpackungssystem zur Erleichterung der modularen Entwicklung von Funktionen in einzelnen Paketen und Unterverpackungen. das Basis -Dojo "Bootstrap"Skript initialisiert eine Reihe hierarchischer Paket -Namespaces -" IO "," Event "usw. - unter einem Root" Dojo " Namespace. Nach der Initialisierung des Root -Namespace kann jedes DOJO -Paket geladen werden (über Xmlhttprequest oder andere ähnliche Transportmittel) unter Verwendung von in der Bootstrap bereitgestellten Versorgungsfunktionen. Es ist auch möglich, zusätzliche Namespaces innerhalb oder parallel zum "dojo" -Anernamespace zu initialisieren, sodass Extensionen von Dojo oder die Entwicklung privater Dojo-verwalteter Namespaces für Bibliotheken und Anwendungen von Drittanbietern zu ermöglichen.

DOJO -Pakete können aus mehreren Dateien bestehen und angeben, welche Dateien das gesamte Paket bilden. Jedes Paket oder eine Datei kann auch eine Abhängigkeit von anderen Paketen oder Dateien angeben. Wenn das Paket geladen wird, werden auch alle Abhängigkeiten geladen.

Problemumgehungen Für die Cross-Domänen-Belastung der meisten Dojo-Pakete werden (obwohl dies einen speziellen Aufbau von DOJO erfordert).

Dojo bietet auch einen Mechanismus zum Aufbau von "Profilen"; Das Build -System nimmt als Eingabe eine Liste von Paketen und verwendet verwendet und verwendet Nashorn Erstellen einer einzelnen komprimierten JavaScript -Datei, die diese Pakete und alle ihre Abhängigkeiten enthält. Auf diese Weise können alle erforderlichen Code gleichzeitig geladen und initialisiert werden und erlaubt zwischengespeichert des Code (am meisten Internetbrowser Cache -Dateien nicht über XMLHTTPrequest geladen werden). Vorgefertigte Profile für einige übliche Anwendungsfälle können vom gleichen Ort wie das vollständige Toolkit heruntergeladen werden.

Client-Seite Datenspeicher

Neben der Bereitstellung von Unterstützungsfunktionen zum Lesen und Schreiben auch KekseDas Dojo unterstützte früher eine lokale, clientseitige Speicherabstraktion namens Dojo Storage. Mit dem DOJO-Speicher können Webanwendungen Daten auf der clientseitigen, beharrlich und sicher und mit Genehmigung eines Benutzers speichern. Es funktioniert über vorhandene Webbrowser, einschließlich Internet Explorer, Feuerfuchs, und Safari. Wenn der DOJO -Speicher in einer Webseite enthalten ist, wird die beste Methode für die beständige Speicherung von Informationen festgelegt. Firefox 2 verwendet native Browser -Persistenz; Auf anderen Browsern verwendet es einen versteckten Blinken Applet. Mit Flash 6+ wird auf etwa 95% der mit dem Web verbundenen Computer installiert.[9] Dies macht den Speichermechanismus für einen Großteil der installierten Basis des Webs zugänglich. Für eine Webanwendung, die aus dem Dateisystem geladen wurde, d. H. Aus einer Datei: // URL, wird der DOJO -Speicher transparent verwendet XPCOM auf Firefox und ActiveX im Internet Explorer anhaltend Informationen. Der Programmierer, der dojo speichert Hash-tabelle Abstraktion mit Methoden wie Put () und get (). Der DOJO -Speicher wird später als bei der 1.3 -Version nicht in Versionen unterstützt.

Serverseitige Datenspeicher

Ab Januar 2007 enthält Dojo das folgende Beispiel Server-Seite Datenspeicher -Implementierungen in der dojo.data Namespace:[10]

  • Csvstore: Ein schreibgeschützter Speicher mit Tabellendaten von Leseschiffe Komma-getrennte Werte Dateien
  • Opmlstore: Ein schreibgeschützter Speicher mit der Lesen hierarchischer Daten von Opml Formatdateien
  • Yahoostore: Ein schreibgeschützter Speicher, der Suchergebnisse aus dem erzielt hat Yahoo! Suche Internetservice
  • Leckerer Store: Ein schreibgeschützter Laden, der Lesezeichen aus dem abholt köstlich Internetservice
  • Rdfstore: Ein Leseschreibergeschäft, der verwendet Sparql mit zu sprechen RDF Datenserver, einschließlich des Rhizome RDF Application Servers.

Unterstützung für Adobe Integrated Runtime (AIR)

Dojo kann in verwendet werden JavaScript-basierend Adobe AIR Anwendungen. Es wurde geändert, um die Sicherheitsanforderungen von Air zu erfüllen.

Sitepen, ein Dojo -Beratungsunternehmen, hat eine Adobe Air -Anwendung namens "Dojo Toolbox" mit DOJO gestellt. Es enthält einen API -Betrachter und eine GUI zu DOJOs Build -System. Normalerweise wird das Build -System von Rhino von Rhino ausgeführt, aber in dieser Luftanwendung kann das Build -System ohne Java aus der Luft ausgeführt werden.[11]

Die Weiterentwicklung der Technologie hat das Wachstum von Unternehmen auf der ganzen Welt positiv beeinflusst. Mit Hilfe moderner Technologien wie Websites und mobilen Anwendungen kann jedes Unternehmen seine Produkte oder Dienstleistungen ohne Probleme online verkaufen. Wir, QuikieApps, haben durch das Vertrauen unserer angesehenen Kunden als Top Anerkennung und Ruf erworben Webentwicklungsunternehmen in Bangalore, Indien, USA, Großbritannien, Dubai. Die Anpassung der dynamischen Technologie der Web- und mobilen Anwendungen ist der erste Schritt zum Erfolg in dieser modischen und wettbewerbsorientierten Welt.

Veröffentlichung Geschichte

Dojo -Toolkit

Versionsnummer Veröffentlichungsdatum Zusätzliche Bemerkungen
0,1 2005-08-30 [12]
0,2 2005-12-14 [12]
0,3 2006-05-12 [12]
0,4 2006-11-05 [12]
0,9 2007-09-14 [12] Totales Umschreiben.
1.0 2007-11-05 [12] Erste stabile Veröffentlichung.
1.0.1 2007-09-13 [13]
1.0.2 2007-09-13 [13]
1.1 2008-03-26 [12]
1.1.1 2008-05-13 [13]
1.2 2008-10-02 [12]
1.2.1 2008-11-06 [13]
1.2.2 2008-11-16 [13]
1.2.3 2008-12-08 [13]
1.3.0 2009-03-26 [12]
1.3.1 2009-04-30 [13]
1.3.2 2009-07-15 [13]
1.4.0 2009-12-07 [13]
1.4.1 2010-01-25 [13]
1.4.2 2010-03-10 [13]
1.4.3 2010-05-01 [13]
1.4.4 2012-06-22 Wartungsveröffentlichung, die Unterstützung für Internet Explorer 9 und Firefox 4+ erhöht.
1.4.5 2010-08-24
1.5.0 2010-07-22 [13] "Claro" -Thema.
1.5.1 2011-04-12
1.5.2 2012-02-09
1.5.3 2010-08-24
1.6.0 2011-03-15 [13] Die Unterstützung HTML5 Datenattribute.
1.6.1 2011-05-20 [13]
1.6.2 2010-08-24
1.7.0 2011-10-27 Verwenden Sie AMD (Asynchrone Moduldefinition) API.[14]
1.7.1 2011-12-16
1.7.2 2012-02-16
1.7.3 2012-06-22
1.7.4 2012-10-05
1.7.5 2013-06-14
1.8.0 2012-08-15 Überholung der Dokumentation.
1.8.1 2012-10-14 [13]
1.8.2 2012-12-12
1.8.3 2012-12-19
1.8.5 2013-06-14
1.8.6 2014-02-20
1.8.9 2014-12-08
1.8.10 2015-01-19
1.9.0 2013-05-01
1.9.1 2013-06-14
1.9.2 2013-12-16 [15]
1.9.3 2014-02-20
1.10.0 2014-06-13
1.10.4 2015-01-18
1.12.2 2017-03-05
1.13.0 2017-09-26
1.14.0 2018-08-13 [16]
1.15.0 2019-02-16[17]
1.16.0 2019-11-29[18]

Die Versionen 1.10 bis 1.16 erhalten weiterhin neue Punktveröffentlichungen, da wichtige Änderungen zurückgeschrieben werden.[19]

Dojo

Versionsnummer Veröffentlichungsdatum Zusätzliche Bemerkungen
2.0 2018-05-02[20] Typscript -Tutorial hinzugefügt.[21] Schnelles Lernen. Einfachheit.[22] Name von Dojo Toolkit zu Dojo 2. Neue Website hinzugefügt.[20] Typscript -Tutorial hinzugefügt. Wechsel von einer Bibliothek für Websites zu einem Framework für Progressive Web -Apps.
3.0 2018-07-27
4.0 2018-10-15 [23]
5.0 2019-01-29
6.0 2019-08-28
7.0 2020-06-01 [24]

Version 2.0 wurde 2018 veröffentlicht.[25] Version 2.0 und später das Wort "Toolkit" vom Namen fallen.

Kritik

Wird geladen

Frühere Versionen von Dojo hatten den Ruf, sperrig zu sein und langsam zu laden.[26] Es erforderte auch zusätzliche Arbeit, um Dojo über Domänen hinweg zu laden, z. B. von a CDN. Die Behandlung dieser Probleme war das Hauptziel von DOJO 1.7, das eingeführt wurde Asynchrone Moduldefinition (AMD) und ein "Nano" -Lader.[27]

Dokumentation

Dojo wurde seit langem wegen seiner unvollständigen, verstreuten und veralteten Dokumentation kritisiert. Die Entwickler erkannten dies und verbesserten die Dokumentation für die Veröffentlichung von 1.8, einschließlich neuer Tutorials, einem API -Browser, der fehlenden Teile und den meisten Beispielen aktualisiert, um die meisten Beispiele zu aktualisieren. AMD Stil.[28][29]

Eine Reihe von Büchern wurde über Dojo geschrieben, aber alle basierend auf Dojo 1.3 oder früher, jetzt mehrere Jahre veraltet. Seit dieser AMD -Unterstützung und ihrer begleitenden Reorganisation beruhen Beispiele in diesen Büchern fast immer auf Dinge, die jetzt veraltet und nicht mehr bester Praxis mehr sind. Die meisten Autoren warten auf DOJO 2.0, bevor sie etwas Neues veröffentlichen.[30]

Lernkurve

Viele haben kommentiert, dass DOJO schwer zu lernen und zu beginnen scheint, insbesondere im Vergleich zu den beliebtesten JQuery.[31][32]

Dylan Schiemann, Cojo-Co-Schöpferin, erkennt dies als Folge ihrer verschiedenen Bereiche an: "Es ist sicherlich einfacher, etwas zu lernen, das kleiner ist als etwas, das mehr tut, aber unsere begeisterten Benutzer weisen schnell darauf hin, dass ein bisschen mehr Lernen im Voraus unzähligen Speichern erspart hat Stunden für Dinge, die Dojo leicht machen. "[26]

API Stabillität

Frühe Benutzer waren vor einem schwierigen Übergang zur 1.0 -Version konfrontiert, nachdem das Toolkit vollständig umgeschrieben worden war.[29] Der Umzug zu AMD in jüngsten Versionen war ähnlich problematisch.[32] Dojo hat große Schmerzen, um trotz seiner schnellen Entwicklung die Rückwärtskompatibilität aufrechtzuerhalten, wobei ein großer Teil der aktuellen API veraltet, aber immer noch beibehalten wurde, aber Benutzer haben oft festgestellt, dass die Upgrades nicht so reibungslos verliefen wie erhofft.

DOJO 2.0 Release hat einen Großteil der veralteten API entfernt und von JavaScript in TypeScript umgestellt.

Dojo Foundation und Sponsoring

Die Dojo Foundation war ein 501 (c) (6) gemeinnützige Organisation 2005 gegründet, um Open -Source -Projekte zu unterstützen.[33][34] Die Hauptziele sind es, die Akzeptanz durch Unternehmen zu unterstützen und Projekte in der Stiftung zu ermutigen, miteinander zusammenzuarbeiten.[35]

Die Sponsoren und Mitglieder sind:

Die DOJO Foundation hilft auch den folgenden Projekten zusätzlich zum DOJO -Toolkit:

Im Jahr 2006 beide IBM[46] und Sun Microsystems Kündigte die offizielle Unterstützung für DOJO, einschließlich Codebeiträge.[47][48] In einem Gartner -Bericht im Jahr 2009 stellte IBM DOJO in 30 ihrer Produkte unterstützt.[49] Zend Technologies, die Firma hinter dem Php Core kündigte 2008 eine Partnerschaft mit DOJO an, in der das Toolkit in die Zend Framework.[50]

Im Jahr 2016 fusionierte die DOJO Foundation mit JQuery Grundlage zu werden JS Foundation.[6][7][8]

Siehe auch

Verweise

  1. ^ a b Eine kurze Geschichte von Dojo
  2. ^ "Dojo Blog".
  3. ^ "Release v8.0.0-beta.3 · Dojo/Framework · GitHub". github.com. 2021-03-02. Abgerufen 2021-03-10.
  4. ^ "Muster · TypeScript". Archiviert von das Original am 2016-03-27.
  5. ^ a b "Dojo Toolkit -Lizenz". Dojo -Toolkit. Abgerufen 17. April 2017.
  6. ^ a b "JQuery Foundation und Dojo Foundation zu verschmelzen". Offizieller JQuery -Blog. 1. September 2015. Abgerufen 2018-07-02.
  7. ^ a b "JQuery Foundation und Dojo Foundation zu verschmelzen". Prweb. 1. Juli 2015. Abgerufen 2018-07-02.
  8. ^ a b "Ankündigung der JS Foundation!". Sitpen. 2016-10-17. Abgerufen 2018-07-02.
  9. ^ "Adobe Flash Player Version Penetration". Adobe -Website.
  10. ^ "Dojo -Daten". 2007-01-11. Archiviert von das Original am 2007-02-13. Abgerufen 2007-02-03.
  11. ^ "Entwicklung und JavaScript -Blog".
  12. ^ a b c d e f g h i Eine visuelle Geschichte von Dojo. Abgerufen 2012-04-20.
  13. ^ a b c d e f g h i j k l m n o p OpenLogic Exchange Dojo Toolkit Download. Abgerufen am 2012-04-20
  14. ^ Der Dojo -Lader. Abgerufen am 2012-04-20
  15. ^ Dojo 1.9.2 und mehr
  16. ^ Dojo 1.14 veröffentlicht
  17. ^ Github - Dojo/Dojo: Dojo 1: Die Dojo 1 Toolkit Core Library., Dojo, 2019-04-17, abgerufen 2019-04-19
  18. ^ Dojo 1.16 veröffentlicht
  19. ^ "Das Dojo Toolkit -Blog | unschlagbare JavaScript -Tools".
  20. ^ a b Dojo.io
  21. ^ "Erstellen Sie Ihr erstes Dojo 2 -Antrag | Dojo". Archiviert von das Original Am 2017-04-01.
  22. ^ "Entwicklung und JavaScript -Blog".
  23. ^ Ankündigung von Version 4 von Dojo
  24. ^ Dojo 7 ist angekommen
  25. ^ https://dojotoolkit.org/community/roadmap/ "Dojo 2 Roadmap"
  26. ^ a b "Ein Interview mit dem Dojo -Toolkit -Schöpfer Dylan Schiemann". Nettuts+. 2012-08-16. Abgerufen 2012-11-21.
  27. ^ "Dojo 1.7 veröffentlicht!". Dojo Toolkit Blog. 2011-01-01. Abgerufen 2012-11-21.
  28. ^ "Was kommt in Dojo 1.8". Dojo Toolkit Blog. 2012-02-09. Abgerufen 2012-11-21.
  29. ^ a b "Was ist die Rasis für Dojo 2.0". Dojo-Contributors. 2012-10-11. Abgerufen 2012-11-29.
  30. ^ Schiemann, Dylan (2012-04-30). "JQuery und die langfristige Lebensfähigkeit von Dojo". Dojo-Interesse. Abgerufen 2012-11-29.
  31. ^ "Kritik an Dojo?". Sieben Fuß hoher Kaktus. 2012-08-17. Archiviert von das Original Am 2012-10-26. Abgerufen 2012-11-21.
  32. ^ a b "Dojo oder JQuery". Notadojoguru. 2012-04-06. Abgerufen 2012-11-21.
  33. ^ "Die Geschichte von JavaScript: Eine Reise von Netscape zu Frameworks". Techahead. Abgerufen 2020-06-26.
  34. ^ "JQuery Foundation und Dojo Foundation zu verschmelzen". Prweb. Abgerufen 2020-06-26.
  35. ^ Die Dojo Foundation
  36. ^ a b c d e f g h i j k l m n o p q "Sponsor und spenden". Dojo Foundation. Abgerufen 19. Oktober 2015.
  37. ^ http://www.sitepen.com/
  38. ^ a b c d e f g h i j k l m n o p q "Erstaunliche Projekte bei der Dojo Foundation". Dojo Foundation. Abgerufen 19. Oktober 2015.
  39. ^ "Mitwirkende: Mitwirkende Lizenzvereinbarung". Grunzen. Abgerufen 19. Oktober 2015.
  40. ^ http://theintern.io/
  41. ^ http://lodash.com/
  42. ^ "Archivierte Kopie". Archiviert von das Original am 2009-07-16. Abgerufen 2009-05-21.{{}}: CS1 Wartung: Archiviertes Kopie als Titel (Link)
  43. ^ "About - OpenRecord.org". www.openrecord.org. Abgerufen 2020-06-26.
  44. ^ http://persvr.org/
  45. ^ http://requirejs.org/
  46. ^ "IBM trägt die AJAX -Softwareentwicklungstechnologie zur Open -Source -Community bei.". IBM Pressemitteilung. 2006-06-05. Abgerufen 2007-02-03.
  47. ^ "Sun schließt sich der OpenAjax Alliance and Dojo Foundation an". Pressemitteilung von Sun Microsystems. 2006-06-16. Abgerufen 2007-02-03.
  48. ^ Krill, Paul (2006-06-19). "Sun schließt sich Openajax, Dojo Foundation an". InfoWorld. Abgerufen 2020-06-26.
  49. ^ "Marketscope für AJAX -Technologien und reiche Internet -Anwendungsplattformen" (PDF). Gartner -Gruppe. Dezember 2009. archiviert von das Original (PDF) am 3. November 2015. Abgerufen 17. März 2014.
  50. ^ Dojo und Zend Framework Partnership Ankündigung

Weitere Lektüre

Externe Links