我是appcelerators钛和javascript的新手,我对编写iPhone应用程序很感兴趣。我认识到需要“很多”代码来创建UI。到目前为止这没问题,但我倾向于明智地将该代码与我的应用程序逻辑分开。什么是最佳实践?
[更新] tweetanium是如何构建钛移动应用程序的一个很好的例子
答案 0 :(得分:4)
我将带有应用程序逻辑的con_file.js包含在带有
的view_file.js中Titanium.include('../controller/con_file.js');
现在我可以访问孔数据结构了。
答案 1 :(得分:4)
我会试一试:
我倾向于使用mvc-pattern开发我的应用程序,因为在一个单独的js文件中实现所有内容非常难看。所以我决定使用一个文件作为视图,所有的东西都是看待感觉,一个文件用于数据库处理(控制器),特别是sql语句,一个文件用于abstract data type(该模型)。
一个简短的例子:
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;
};
所以文件夹结构可能是这样的:
myProject:folderView(viewConcerningObject.js),folderModel(theDatabase.db,object.js),folderController(controllerConcerningObject.js)。