2008-09-15 8 views
16

Ich habe gerade mit der Entwicklung einer ExtJS-Anwendung begonnen, die ich mit einem sehr leichten JSON PHP-Dienst unterstützen möchte. Ansonsten wird es eigenständig sein. Meine Frage ist, was ist der beste Weg, um die Dateien und Klassen zu organisieren, die unvermeidlich entstehen werden? Jeder hat Erfahrung mit großen ExtJS-Projekten (mehrere tausend Zeilen). Die beste Art, ein ExtJS-Projekt zu organisieren

+0

Was meinen Sie mit einem "sehr leichten JSON PHP Service"? Ist die serverseitige Logik sehr einfach? Wenn ja, würde ich mich fragen, warum nicht ein einfacheres JS-Framework wie Prototype oder jQuery verwenden? – Alan

Antwort

1

Während der Entwicklung Ihrer Anwendung sollte Ihre Datei- und Ordnerstruktur nicht so wichtig sein, da Sie wahrscheinlich den Veröffentlichungscode minimieren und ihn in einer einzigen JS-Datei speichern möchten, wenn Sie fertig sind. Ein automatisierter Handler oder ein Build-Skript wird wahrscheinlich die beste Wette dafür sein (siehe http://extjs.com/forum/showthread.php?t=44158).

Das heißt, ich habe irgendwo in den ExtJS Foren gelesen, dass eine einzelne Datei pro Klasse ratsam ist, und ich kann das aus eigener Erfahrung bestätigen.

0

Als ich ein neues großes Projekt startete, beschloss ich, es modular zu machen. Normalerweise werden bei großen Projekten nicht alle Module von einem bestimmten Benutzer verwendet, daher lade ich sie bei Bedarf ein. Wenn beispielsweise ein Projekt 50+ Module aufweist, ist die große Wahrscheinlichkeit, dass der Benutzer nur mit 10- arbeitet.

Mit dieser Architektur können Sie den ursprünglichen Code relativ klein halten.

Module werden auf dem Server gespeichert und vom AJAX-Aufruf geladen, wobei der ResponseText im AJAX-Callback ausgewertet wird. Das einzige Problem dabei ist, dass Sie Modulabhängigkeiten verfolgen müssen, die auch in Modulen gespeichert werden können. Ich habe eine Klasse namens Module und ich überprüfe jede neue Modulinstanz auf ihre Existenz innerhalb der Aufgabe. Wenn es noch nicht existiert, lade ich es vom Server.

1

Ich schlage vor, dass Benutzer bereit sind, auf das Laden einer Anwendung zu warten. Daher laden wir beim Start der App normalerweise alle JS. Ich empfehle das Laden und Auswerten von JS-Dateien nach Bedarf ist unnötig - vor allem, wenn alle JS vor der Bereitstellung in der Produktion minimiert werden.

Ich empfehle namespsaces, eine Klasse pro Datei und eine gut definierte und gut dokumentierte Klassenhierarchie.