Haftungsausschluss: Ich bin ein Dojo-Committer, aber dies ist meine persönliche Ansicht als JavaScript-Insider.
Zunächst einmal: Die Grafik ist absolut und völlig falsch. Schauen Sie sich den Diagrammlink genau an und lesen Sie "Ereignisse". Dies ist die Liste der Ereignisse, die mit Dojo "zusammenhängen":
"Dojo für Ajax deklarieren" - ok, es kann relevant sein .
"IT Dojo: Stoppen Sie die Ausführung von Programmen, wenn Windows Vista [Video] startet" - irrelevant .
"IT Dojo: Mit diesem Registrierungs-Hack Befehle zum Kopieren nach und Verschieben nach zum Windows XP Explorer hinzufügen" - nicht einmal schließen .
"Dragon Dojo Martial Arts® mit dem Titel" Official Small Business of NASCAR®, mit freundlicher Genehmigung von Office Depot® "- nein, erneut verpasst .
"Hacker Dojo in Mountain View bringt Ideen hervor und bastelt" - bei weitem nicht .
Warum? Dojo ist ein Oberbegriff, der hauptsächlich außerhalb des Softwareentwicklungsbereichs verwendet wird. Yui (als YUI - das andere JavaScript-Toolkit in der Tabelle) ist eine äußerst beliebte japanische Sängerin, und nur jQuery ist ein eindeutiger Begriff.
Was zeigt die Grafik? Leider nichts relevantes.
Hmm, déjà vu. Ja, ich habe es schon einmal gesagt . Erlauben Sie mir also, mich selbst zu zitieren (kleinere Anmerkungen hinzufügen und den Link korrigieren):
In Bezug auf Google Trends. Von 5 fraglichen Bibliotheken [jquery, mootols, prototype, yui und dojo] haben nur zwei (jquery und mootools) die Chance, in der Umfrage relevant zu sein, hauptsächlich aufgrund ihrer eindeutigen Namen. Der Rest verwendet entweder einen generischen Namen (Prototyp und Dojo) oder einen Alias für etwas anderes (yui => Yui, äußerst beliebte japanische Singer / Songwriterin / Schauspielerin). Wenn Sie also plötzliche Spitzen erklären möchten, versuchen Sie bei Google nach Nachrichten dieser Zeit zu suchen, um zu sehen, ob Höhen und Tiefen ohne oberflächliche Mittel erklärt werden können.
Hier ist ein Link zu einer anderen "wissenschaftlichen" Studie, die ohne Zweifel beweist, dass jQuery populärer ist als Marilyn Monroe, Elvis Presley und kürzlich sogar Mickey Mouse überholt hat : Google Trends: jquery, mootools, marilyn monroe, elvis presley, mickey mouse .
Nun zurück zu Ihrer Frage. Die Grafik ist falsch - 2008 ist nichts Relevantes passiert. Alles wurde in der zweiten Jahreshälfte 2007 getan:
- 20.08.2007 - Dojo 0.9 wird angekündigt . Dies war der Hauptbruch mit der vorherigen Version: Dojo 0.4. Sofort wurde Ihr vorhandenes Dojo-Wissen um 70% oder mehr dezimiert.
- 05.11.2007 - Dojo 1.0 wird angekündigt . Diese Veröffentlichung machte Dojo 0.4 psychologisch uralt.
Obwohl die Unterbrechung technisch gerechtfertigt war, war sie psychologisch gesehen ein schwerer Schlag für die Benutzer (es gibt bereits 2010 große Dojo 0.4-Anwendungen in der Produktion).
Einige Leute haben angefangen, die 0.9 / 1.0-API zu lernen, andere haben beschlossen, auf etwas anderes zu migrieren - die Kosten für das Defekt waren fast die gleichen wie die Kosten für das Erlernen des neuen Dojo. Der Markt hatte zu dieser Zeit alle alten Spieler und einen relativen Neuling: jQuery. Die Mehrheit der ehemaligen Dojo-Benutzer hat sich aus einem bestimmten Grund für Dojo entschieden, nachdem sie andere getestet hatten. Daher gingen die meisten Überläufer von Dojo zu jQuery und nicht zu anderen Toolkits, die nicht verfügbar waren, als sie sich am Anfang für Dojo entschieden hatten.
Dies ist jedoch nicht der einzige Grund. Irgendwie vergleichen die Leute Dojo gerne mit jQuery. Vergleichen wir ihre Gemeinschaften und sozialen Aspekte.
jQuery war / ist viel besser im Marketing - vergleichen Sie einfach, wie viele Blog-Posts von einem John Resig erstellt wurden, mit den Blog-Posts aller Dojo-Entwickler zusammen, und vergleichen Sie, wie oft John auf Konferenzen einen Vortrag gehalten hat, mit allen Dojo-Vorträgen zusammen. Die Wahrheit ist, dass Dojo von Geeks gemacht wird, die zwar gut in Technik sind, aber nicht gut im Marketing.
Soziale Funktionen sind ebenfalls wichtig, da sie zum Wachstum der Community beitragen. Lassen Sie uns einen Blick darauf werfen, wie Sie zufälligen Code zu beiden Toolkits beitragen. Dojo hat einen Platz für seltsame Projekte: DojoX. jQuery hat ein etwas äquivalentes jQuery-Plugin. Jeder kann zu beidem beitragen, aber für DojoX ist die Eintrittsbarriere viel höher, da eine Einreichung überprüft wird und abgelehnt werden kann, wenn sie nicht den strengen Kriterien entspricht. Im Allgemeinen nimmt es viel Zeit in Anspruch, während in jQuery Land jeder jederzeit und mit jeder Lizenz einen beliebigen Code als Plugin einreichen kann. Es macht es einfacher, zur jQuery-Community zu "gehören".
Meiner persönlichen Meinung nach führt der DojoX-Prozess zu besseren technischen Ergebnissen: Fast jedes zufällige DojoX-Projekt ist von besserer Qualität als viele jQuery-Plugins. Natürlich gibt es sehr gut unterstützte hochwertige jQuery-Plugins, aber es geht nicht darum. Der Punkt ist, dass der jQuery Plugins-Prozess beim Aufbau einer Community besser ist als der DojoX-Prozess.
Auch die Zielmärkte sind unterschiedlich. jQuery zielt auf relativ einfache Dinge ab: Fügen Sie regulären Websites etwas JavaScript-Magie hinzu, führen Sie einige "progressive Verbesserungen" durch, verwenden Sie diese Art von Snippet und so weiter. Dojo mit seinem modularen System, den Build- / Packaging-Tools und den OO / AOP-Bestimmungen spricht die Web-App-Masse an. Ratet mal, welcher Markt mehr Leute hat. Eine der Implikationen ist einfach: Dojo wird häufig in der IT verwendet, was keine öffentliche Anerkennung bringt. ⇒ Selbst das "sekundäre Summen" von Entwicklern solcher Systeme ist geringer als es für Dojo sein sollte.
Eine andere bittere Wahrheit ist, dass die Dojo-Community 2007 den Ball fallen ließ: Die Dokumentation war durcheinander, Blog-Posts waren selten und befassten sich hauptsächlich mit obskuren technischen Dingen für fortgeschrittene Programmierer, anstatt mit Tutorials, "wie einfach es ist, einfache Dinge zu tun". Das Forum wurde von Spammern praktisch geschlossen. Die Pause von 0,4 / 0,9 beeinträchtigte die Sichtbarkeit der Suchmaschine in Dojo - Leute, die nach neuen Sachen suchten, fanden meistens 0,4 Sachen, was für sie keinen Nutzen hatte.
Da haben Sie es also: Das zweite Quartal 2008 ist der falsche Zeitpunkt zum Lernen. Schauen Sie sich H2 2007 an und sehen Sie, warum jQuery mehr Massenattraktivität hat als Dojo oder irgendein anderer "Konkurrent".
Aber gehen wir zu "jetzt".
Nach meiner unwissenschaftlichen Erfahrung hat Dojo einen starken Zustrom neuer Benutzer - ich sehe viel mehr Leute, die Dojo verwenden, und ich kenne viel mehr Projekte, die mit Dojo begonnen haben. Es begann irgendwo Mitte 2009. Die Gründe dafür, wie ich es sehe:
Viele der oben genannten Probleme sind behoben oder werden behoben.
Der # dojo-Kanal auf freenode ist äußerst lebendig und andere webbasierte Ressourcen sind relevanter als je zuvor.
Als überwiegend amerikanisches Phänomen begann Dojo endlich international zu werden.
Es wird jetzt besonders darauf geachtet, dass Benutzer älterer Dojo-Versionen nicht im Dunkeln gelassen werden. Als Reaktion auf die letzte Sicherheitsempfehlung wurden beispielsweise alle veröffentlichten Versionen von Dojo aktualisiert: von 0,4 auf die aktuelle Version 1.4. Ich bin sicher, dass sich die Aufteilung von 0,4 / 0,9 nicht noch einmal wiederholen wird, wenn Dojo in Zukunft auf 2,0 übergeht: Evolution statt Revolution ist sozial akzeptabler.
Ich glaube, dass Dojo-Technokraten endlich die sozialen Auswirkungen ihrer technischen Entscheidungen verstanden haben, Änderungen vorgenommen wurden, die Gemeinschaft lebendig und gesund ist.
Wird Dojo jQuery bald bei Zahlen "schlagen"? Während Dojo technisch wie eine saubere Obermenge von jQuery und einigen anderen aussieht und beide auf demselben Markt für "progressive Verbesserungen" verwendet werden können, ist es unwahrscheinlich, dass Dojo jQuery verärgert. Lesen Sie oben über die Ausrichtung auf verschiedene Märkte und denken Sie daran, dass der Kampf gegen andere Toolkits nicht einmal ein Ziel für Geeks ist, die an Dojo arbeiten. Sie konzentrieren sich darauf, Dojo in einem breiten Spektrum von Szenarien noch nützlicher zu machen und eine eigene Community aufzubauen. Letztendlich liegt es an den Benutzern, anhand ihrer Bedürfnisse zu entscheiden, was sie wollen.
Update: Ich hoffe, niemand wird zu dem Schluss kommen, dass "Dojo den Ball fallen ließ und jQuery zufällig hier war". Nichts dergleichen. jQuery hatte vor allem auf konzeptioneller Ebene viel zu bieten. Wir lieben jQuery und wünschen ihm alles Gute. Es ist der Maßstab, um unsere Bemühungen beim Aufbau anderer Toolkits zu vergleichen.