我是Appcelerators Titanium和JavaScript的新手,我有兴趣编码iPhone应用程序。我认识到需要“许多”代码来创建UI。到目前为止,这没问题,但是我倾向于明智地将该代码与应用程序逻辑分开。什么是最佳实践?

更新 Tweetanium 是一个很好的例子,如何构建钛移动应用程序

有帮助吗?

解决方案

好的,我只是找到了一个很酷的练习。

我将con_file.js与应用程序逻辑一起使用view_file.js

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

现在,我能够访问孔数据结构。

其他提示

我会尝试:

我倾向于使用 MVC-Pattern 对于开发我的应用程序,因为一个单个JS文件中实施所有内容非常丑陋。因此,我决定将一个文件用于视图和所有有关外观的内容,一个用于数据库处理的文件(控制器),尤其是SQL statements,以及一个文件 抽象数据类型 (该模型)。

一个简短的例子:

看法: 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:folderview(viewConcerningObject.js),foldermodel(thedatabase.db,object.js),foldercontroller(contranceerConcerneBobject.js)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top