i'm new to appcelerators titanium and javascript and i'm interested in coding an iphone app. i recognized that there is a need of "many" code for creating the UI. that's no problem so far, but i tend to separate that code from my application logic wisely. what are the best practices?
[update] tweetanium is a great example how to structure a titanium mobile application
i'll have a try:
i tend to use the mvc-pattern for developing my application since implementing all stuff in one single js-file is quite ugly. so i decided to use one file for the view and all the stuff concering the look-and-feel, one file for the database handling (the controller), especially the sql-statements, and one file for the abstract data type (the model).
a short example:
view: 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);
model: 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();
   };
}
controller: controllerConcerningObject.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;
};
so the folder structure could be like this:
myProject: folderView(viewConcerningObject.js), folderModel(theDatabase.db,object.js), folderController(controllerConcerningObject.js).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With