Ich fange an, Dojo zu benutzen; Das ist (im Wesentlichen) meine Einführung in AJAX. Wir haben ein Java-Backend (Drehmoment / Turbine / Geschwindigkeit) und verwenden die jabsorb JSON-RPC-Bibliothek, um Java und Javascript zu überbrücken.
Was muss ich wissen? Was ist das große Bild von Dojo und JSON, und was sind die fiesen kleinen Details, die mich aufholen? Was hast du ein paar Tage damit verbracht, aufzuspüren, als du mit Dojo angefangen hast, die du jetzt für selbstverständlich hältst? Danke für alle Tipps.
Als erstes sollten Sie sich mit dem Dojo-Objektmodell vertraut machen. JavaScript hat kein Klassensystem, daher hat das Dojo-Toolkit eine Art von "nach Konvention" -Objektmodell erstellt, das ziemlich gut funktioniert, sich aber sehr von der Funktionsweise in Java unterscheidet.
Der Grund, warum ich mich damit auskenne, ist, dass Sie sich in die Code-Basis einarbeiten können, wenn Probleme auftreten. Die verfügbare Dokumentation hat sich im letzten Jahr deutlich verbessert, aber immer wieder muss ich einen Fehler in meinem Code herausfinden, indem ich genau lerne, wie der betreffende Dojo-Code funktioniert.
Ein weiterer Tipp ist, die benutzerdefinierte Build-Funktion zu verwenden, die die Leistung erheblich verbessert, sobald Ihre Anwendung fertig ist.
Als allgemeinen Tipp zur DHTML-Programmierung verwenden Sie firebug (ein Plug-In für Firefox). Es ermöglicht JavaScript-Debugging, DOM-Inspektion, HTML-Bearbeitung in Echtzeit und vieles mehr. Ich bin jetzt völlig abhängig davon geworden, wenn ich in DHTML arbeite!
Viel Glück!
Ich habe auch den Kopf zuerst in Dojo getaucht, sie haben eine gute API-Dokumentation in Ссылка . Sogar der Dojo Campus hat einige gute Beispiele für die Plugins.
Wenn du mich fragst O'Reillys Dojo: Der endgültige Führer ist das beste Dojo Buch auf dem Markt.
Ich hätte auch gerne Tipps und Hinweise von den Dojo-Meistern.
Prost
Stellen Sie sicher, dass die Dokumentation, die Sie gelesen haben, so aktuell wie möglich ist, da sich eine Menge in der Dojo-Architektur sehr schnell geändert hat.
Eine gute Möglichkeit zu sehen, wie ein Dojo- oder Dijit-Widget verwendet wird, besteht darin, sich den Quellcode für die Tests anzusehen, z. B. den DataGrid
hat schlechte Dokumentation, aber die Tests zeigen viele Anwendungsfälle und Konfigurationen.
Sitepen ist eine gute Quelle für Dojo-Artikel .
Lesen Sie auch Deferred
(und DeferredList
) sowie hitch()
- zwei extrem flexible und mächtige Features von Dojo. SitePen hat einen tollen Artikel zur Entmystifizierung von Deferred
s.
Sehen Sie sich plugd an, eine Sammlung von Dojo-Erweiterungen, die einige Dinge komfortabler machen oder dem Programm einige clevere Funktionen hinzufügen Sprache. Es wurde von einem der Dojo-Hauptautoren erstellt, daher ist es ziemlich zuverlässig. Es bringt sogar einige jQuery-Niceties in das Framework.
Einige weitere Dinge: Schauen Sie sich Datenspeicher an, sie sind sehr nützlich und ein viel saubererer Weg, um mit Ajax umzugehen. DojoX hat auch viele nette Dinge, denken Sie daran, dass DojoX darin besteht, wie gut dokumentiert oder wie experimentell die Komponenten sind. Lerne die Unterschiede zwischen dojo.byId und dijit.byId
, sowie die HTML-Attribute id
gegenüber jsId
(wieder hat Sitepen einen Artikel).
Ein paar Dinge, die mich beim Schreiben von Widgets gefangen haben:
[Verstehen Sie, was dojoAttachPoint, dojoAttachEvent, containerNode und widgitsInTemplate tun] [1]
haben ein festes Verständnis von Schließungen,
Holen Sie sich den Kopf herum verschoben
verstehe ItemFileReadStore, ItemFileWriteStore und speichert im Allgemeinen
Sie können Stores wie ein ResultSet (sort of) betrachten und Daten an Widgets binden.
Mit diesen wichtigen Konzepten können Sie beginnen, einige überzeugende Anwendungen zusammenzustellen.
Im Allgemeinen baue ich eine JavaScript-Fassade um meine Serviceanrufe herum und dann schrubbe ich die Antwort in einen Laden, indem ich den ersten Callback in der Fassade anbringe, der Rückruf die Ergebnisse in einen Laden umwandelt und ihn dann zurückgibt. Dies ermöglicht es mir, meine Dienste nicht hart an Dojo-Konstrukte zu binden (so kann ich Mobile usw. unterstützen), während ich auch die Daten von der Fassade in einem Format neu abstimme, das datenbewusste Widgets erwarten.
Auch wenn Sie Java-Service-Entwicklung machen, wollen Sie ja in JAX-RS nachsehen. Ich begann mit JSON-RPC, das JABS-ORB wurde, aber nach der Arbeit mit JAX-RS bevorzuge ich es, da es sich gut in JPA-EJB und JAXB integriert.
Lesen Sie zuerst, wie Sie Dojo in Ihrer Anwendung konfigurieren. Versuchen Sie, die grundlegende Struktur von Dojo zu verstehen, wenn Sie beispielsweise dijit.form.Button oder dijit / form / Button schreiben, bedeutet dies, dass sich Button.js im Ordner dijit / form befindet. Versuchen Sie, Module von Dojo zu verstehen, zu definieren und zu deklarieren. Das ist genug, um Dojo Toolkit zu starten.
Sehr wichtige Tatsache, gönnen Sie sich Ihr eigenes Beispielprojekt mit Dojo.