Wie organisieren JS-Dateien in ein Appcelerator Titanium-Projekt
Habe ich vor kurzem begonnen erstellen einer iPhone-Anwendung mit Appcelerator Titanium. Da die Anwendung im wesentlichen alle JS, ich brauchte ein paar Ratschläge, wie ich das organisieren dieses Projekt.
Es ist immer sehr leicht zu erstellen Sie einfach lange prozedurale Dateien für jede Ansicht in der Anwendung. Gibt es eine Möglichkeit, die ich integrieren kann, MVC, oder eine gewisse Struktur zu dem Projekt?
Dank, ich weiß es zu schätzen.
-Tilo
InformationsquelleAutor der Frage Tilo Mitra | 2010-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Titan selbst ist im wesentlichen MVC gegeben, dass Ihr app.js Datei ist die Haupt-controller und jede Ansicht, die Sie erstellen, ist der Ansicht, und übergeben Sie (oder ein set) - Modell-Daten für die Sicht.
In Titan, können Sie zerlegen Ihre Bewerbung mit ein paar netten eingebauten Mechanismen:
Titan.gehören - Titan.zählen können Sie eine oder mehrere JS-Dateien in den Ort ähnlich wie die C
#include
compiler-Direktive. Sie können gemeinsame Funktionen und JS-Klassen in diese Datei und fügen Sie Sie, wo immer Sie wollen, Sie importiert und verfügbar.Titan.UI.createWindow - Sie können eine neue Ansicht erstellen als wird als eine Eigenschaft des neuen Fensters übergeben Sie eine URL zu einer anderen JS-Kontext erstellen Sie eine neue JS-sub-Kontext und ermöglichen Ihnen die Aufrechterhaltung Ihrer eigenen Variablen Raum (aber immer noch geben Ihnen Zugang zurück zu Ihren Eltern).
Auch in Titan, können Sie Ordner erstellen, mit denen Sie logisch organisieren Sie Ihre Anwendung in einer Weise, die geeignet ist, Sie und Ihre Bewerbung.
Edit: Heute ist die Titan.Include-Methode ist deprecated.
Wie wissen Sie in der Dokumentation,, wir sollten ein CommonJS-Modul und Verwendung der
require()
- Anweisung.Mehr Informationen zu dieser Aussage : Benötigen
Mehr Informationen über Module : Module
InformationsquelleAutor der Antwort jhaynie
Da war ich nicht der Suche nach einem angemessenen MVC-Lösung für ein Titanium mobile-Projekt, ich kam mit dem folgenden Ansatz. Für kleine Anwendungen mag dies over-engineered aber helfen könnte, für die Aufrechterhaltung der wachsenden Anwendungen.
Ordner-Struktur:
Zur Trennung von views, models und Controller namespace benötigt wird, so definieren wir es in der app.js, was ist unser Haupt-controller:
In dem Ordner legen wir eine einzige JavaScript-Dateien für jede Komponente. Für diese könnten wir entweder eine leichte JavaScript-OOP-Bibliothek wie z.B. MooTools oder Prototype oder definieren Sie einfach JS-Funktionen wie unseren Objekten. Wenn Sie wollen auch Erben von übergeordneten Klassen, eine Bibliothek, macht definitiv Sinn.
Beispiele:
Danach können wir alle benötigten model/view/controller-Klassen mit Ti.include() in die app.js Datei und verweisen Sie die Komponenten mit unseren namespace:
Den MVC-Ansatz würde nun davon ausgehen, dass der controller "kontrolliert" den Status der Ansicht und übergibt die Daten aus dem Modell in den Blick. Die Ansicht besteht nur aus der UI-Elemente und Eigenschaften für das styling. Jede Aktion, die gemacht wird in der Benutzeroberfläche feuert ein Ereignis, das erzählt die controller zum ausführen der gewünschten Aktion.
Aber natürlich die genaue definition von MVC könnte anders sein, nach Ihrem persönlichen Geschmack 😉
InformationsquelleAutor der Antwort fbrandel
Dies kann auch helfen: Eine grundlegende Struktur der Organisation von Titanium mobile Projekt: https://github.com/krawaller/Struct
InformationsquelleAutor der Antwort fbrandel
Mir erlauben, aktualisieren Sie diese Frage, da die meisten Antworten abgelöst werden. In Q4 2012, Appcelerator veröffentlicht die Legierung MVC (beta -) Frameworks zusammen mit der aktuellen IDE und SDK-Version, Titan-Studio 3.0 und SDK 3.0. Legierung ist vollständig integriert mit dem Studio, es ist also ziemlich einfach, ein basic-app läuft in weniger als 15 Minuten. Legierung stellt eine bedeutende Ordner neu strukturieren: Die /app Ordner ist jetzt da, wo alle die Entwicklung des Programmcodes.
Den /Ressourcen Ordner, in denen code verwendet werden, um Leben, ist nun das aktualisierte äquivalent von der /build Ordner. Kompilierten code in /Ressourcen überschrieben wird bei jedem build.
Erstellte ich mit einem kurzen primer (screencast) auf die Schaffung einer Legierung Projekt. Sie können es über meine dropbox-Ordner.
Erstellen Sie Alloy-Projekt
InformationsquelleAutor der Antwort Mike S.
Sieht es aus wie Appcelerator Ihre eigenen Appcelerator MVC in den Marktplatz habe ich nicht bewertet, dies noch.
Mehr Info: http://johnkalberer.com/2011/09/29/appcelerator-mvc-example/
InformationsquelleAutor der Antwort Ryan White