user interface - separation of logic and UI in titanium (javascript) - Stack Overflow

i'm new to appcelerators titanium and javascript and i'm interested in coding an iphone app.

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'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

Share Improve this question edited Jan 30, 2012 at 12:59 mkind asked Sep 9, 2010 at 10:10 mkindmkind 2,0432 gold badges20 silver badges25 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 4

ok, i just found a cool practice.

i include the con_file.js with the application logic the view_file.js with

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

now i'm able to access the hole data structure.

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).

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744225492a4563983.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信