1

我正在开发一个 Web 应用程序,它允许用户编辑页面上的元素(就像您可以使用 Adob​​e InDesign 一样)。可以拖动、选择对象,并为用户提供一个侧边栏,其中包含可以修改的对象的所有属性。

数据存储在数据库中的服务器上。我正在使用Djangosweetpie来为数据库中的数据提供一个简单的 REST 接口。

基本上数据的结构如下:

  • 文档
      • 页面对象

我已经使用 jQuery 和 jQueryUI 进行了一些测试,它们提供了允许对象选择、拖放等所需的大部分代码。一切都很好。

现在我正在考虑最好的方法是存储/管理/提取/更新页面上所有这些对象的信息。我可以手动完成这一切,jQuery.ajax()在数组、字典中使用和存储信息,并将它们链接到 DOM 元素。但是,我觉得有相当多的重新发明轮子和涉及的样板代码是可以避免的。

所以我在网上搜索并发现了 Backbone.js。它让我想起了 Django 的 ORM,并且似乎使管理所有数据变得更简单。据我了解 Backbone.js 的想法,它允许我创建一个类似于在服务器上的模型中定义的对象类,并使用它来存储有关对象的所有信息。

是否适合使用 Backbone.js 来完成这项任务?我查看了它的文档,还看到它支持使用 REST/Ajax 进行同步。

4

2 回答 2

2

Backbone 可能适合您的需求,因为它确实提供了一种抽象,用于以不耦合到 DOM 的方式管理您的数据,即通过Backbone.ModelBackbone.Collection.

Backbone 模型和集合通过处理 AJAX 生命周期可以轻松管理与后端的通信。它还具有有用的约定,用于执行诸如客户端验证和围绕模型属性更改的发布/订阅之类的事情。

另一个需要注意的重要事情是,Backbone 很容易以零碎的方式使用。您可以利用模型概念并忽略视图/路由器或仅将其用于事件管理等。

文档非常好。看一看。

于 2012-12-04T19:01:48.753 回答
0

您应该认为ember.js是一个出色的工具,没有时间管理应用程序(不是微不足道的)来生成服务质量调查。并且已经完成了 emberjs 的欣赏。因为这是他第一次完全呆在 php 服务器端,并且除了 REST 之外没有使用它。

还具有出色的文档,并且非常易于扩展。

于 2012-12-04T19:06:34.300 回答