Question

Je suis nouveau dans Appcelerators Titanium et JavaScript et je suis intéressé à coder une application iPhone. J'ai reconnu qu'il y a un besoin de "beaucoup" de code pour créer l'interface utilisateur. Ce n'est pas un problème jusqu'à présent, mais j'ai tendance à séparer ce code de ma logique d'application judicieusement. Quelles sont les meilleures pratiques?

mettre à jour tweetanium est un excellent exemple comment structurer une application mobile en titane

Était-ce utile?

La solution

Ok, je viens de trouver une pratique cool.

J'inclus le con_file.js avec la logique d'application la vision_file.js avec

Titanium.include('../controller/con_file.js');

Maintenant, je peux accéder à la structure des données du trou.

Autres conseils

Je vais essayer:

J'ai tendance à utiliser le MVC-Pattern Pour développer mon application, car la mise en œuvre de toutes les choses dans un seul JS-File est assez laide. J'ai donc décidé d'utiliser un fichier pour la vue et tout ce qui concerne l'apparence, un fichier pour la gestion de la base de données (le contrôleur), en particulier les stades SQL, et un fichier pour le fichier pour le Type de données abstraites (le modèle).

Un court exemple:

voir: ViewConcerningObject.js

Ti.include('object.js');

var win = Ti.UI.currentWindow;
var myObject = new object();

var myObjectName = Ti.UI.createLabel({
   text:myObject.getName();
});

win.add(myObjectName);

maquette: object.js

Ti.include('controllerConceringObject.js');

function object(){
   this.name = 'myInitialName';

   this.getName(){
      return this.name;
   };

   this.setName(newName){
      this.name = newName;
   };

   this.updateNameFromDb(){
      this.name = getNameFromDatabase();
   };

}

manette: contrôleurConcerningObject.js

function getNameFromDataBase(){
   var db = Ti.Database('objects');
   var sql = 'SELECT name FROM objects';
   var recordset = db.execute(sql);
   var name  = recordset.field(0);
   recordset.close();
   db.close();
   return name;
};

Ainsi, la structure du dossier pourrait être comme ceci:

MyProject: FolderView (ViewConcerningObject.js), FolderModel (theDatabase.db, object.js), FolderController (ControtreCConcerningObject.js).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top