我是新加入鈦和JavaScript的編輯器,我有興趣編寫一個iPhone應用程序。我認識到需要創建UI的「許多」代碼。這到目前爲止沒有問題,但我傾向於明智地將該代碼與我的應用程序邏輯分開。最佳做法是什麼?鈦(鈦)邏輯和用戶界面的分離(javascript)
[更新]tweetanium是一個很好的例子如何構建鈦移動應用
我是新加入鈦和JavaScript的編輯器,我有興趣編寫一個iPhone應用程序。我認識到需要創建UI的「許多」代碼。這到目前爲止沒有問題,但我傾向於明智地將該代碼與我的應用程序邏輯分開。最佳做法是什麼?鈦(鈦)邏輯和用戶界面的分離(javascript)
[更新]tweetanium是一個很好的例子如何構建鈦移動應用
好,我剛剛找到一個涼爽實踐。
我包括與應用程序邏輯的con_file.js的view_file.js與
Titanium.include('../controller/con_file.js');
現在我能夠訪問該孔的數據結構。
我會試一試:
我傾向於使用mvc-pattern以來在一個單個的JS文件執行的所有東西開發我的應用程序是相當難看。所以我決定使用一個文件來查看視圖和所有的內容,包括數據庫處理(控制器)的一個文件,尤其是sql語句,以及一個用於abstract data type(模型)的文件。
短例如:
視圖: 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);
模型: 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();
};
}
控制器: 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;
};
這樣的文件夾結構可以是這樣的:
myProject的:文件夾視圖(viewConcerningObject.js),folderModel(theDatabase.db,object.js),folderController(controllerConcerningObject.js)。
你也可以嘗試commonJS:https://wiki.appcelerator.org/display/guides/Mobile+Best+Practices – Julian 2012-01-30 00:09:52