backbone.js提供了一套web开发的框架,通过Models进行key-value绑定及custom事件处理,通过Collections提供一套丰富的API用于枚举功能,通过Views来进行事件处理及与现有的Application通过RESTful JSON接口进行交互.它是基于jquery和underscore的一个js框架。
主要组成:
1.model:创建数据,进行数据验证,销毁或者保存到服务器上
2.collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法,说白了就是一个保存 models的集合类
3.view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁等
优势:
1. 将数据和界面很好的分离开来。
2. 将事件的绑定很好的剥离出来,便于管理和迭代。
3. 使得Javascript程序的模块化更加清晰、明了。
Underscore.js是一个很精干的库,压缩后只有4KB。它提供了几十种函数式编程的方法,大大方便了Javascript的编程。上面的backbone.js就是基于这个库。
它定义了一个下划线(_)对象,函数库的所有方法都属于这个对象。这些方法大致上可以分成:集合(collection)、数组(array)、函数(function)、对象(object)和工具(utility)五大类。
Alloy 基本概念
Alloy Models Backbone's Model and Collection
Alloy Views Titanium UI components
Alloy Controllers Titanium SDK API
为了简化开发,Alloy采用目录结构和命名约定来组织程序,而不是配置文件。
|
目录名称 |
内容 |
|
app |
包含应用程序模型,视图,控制器和所有资源文件 |
|
app/alloy.jmk |
编译配置文件 |
|
app/alloy.js |
程序的初始化文件 |
|
app/config.json |
项目配置文件 |
|
app/assets |
项目所有资源文件 |
|
app/controllers |
控制器文件 |
|
app/lib |
包含特定的库文件 |
|
app/migrations |
包含格式<DATETIME>_filename.js数据库迁移文件 |
|
app/models |
包含模型文件 |
|
app/styles |
包含扩展名为.tss的样式文件 |
|
app/views |
包含视图文件 |
|
app/widgets |
包含组件文件,每个组件都有跟程序一样的目录结构 |
|
i18n |
包含国际化和本地化文件 |
|
Resources |
包含编译生成的文件 |
Alloy视图
1.XML标记
2.样式和主题
3.动态样式
4.无控制器的视图
Alloy控制器
作用:控制器包含用来控制用户界面和与模型进行通信的应用程序逻辑。例如:$.label用来访问Ti.UI.Label,像$.label.hide()和$.label.text
$.index用来获取顶级的UI对象。
访问外部控制器和视图,Alloy.createController和Controller.getView两种方法。
继承:
exports.baseController = 'baseControllerName'
例如:
app/controllers/animal.js
exports.speak = function() {
alert("Yelp!");
};
app/views/animal.xml
<Alloy>
<Label id="animalLabel">Animal</Label>
</Alloy>
app/controllers/dog.js
exports.baseController = "animal";
$.animalLabel.text = "Dog";
exports.speak = function() {
alert("Bark!");
};
Alloy模型
1.集合和模型对象
2.数据绑定
3.同步适配器和迁移
4.无Alloy的Backbone对象
Alloy插件
1.配置文件widget.json
2.主控制器文件widget.js
3.样式文件widget.tss
4.视图文件widget.xml
Alloy调试和故障排除
1.配置文件
本文介绍Alloy框架,一种专为Titanium SDK设计的MVC框架,整合Backbone.js和Underscore.js。涵盖Alloy的基本概念、目录结构、视图、控制器及模型使用方法,并介绍如何利用Alloy进行高效开发。
616

被折叠的 条评论
为什么被折叠?



