javascript - 什么 Javascript 框架最适合这种情况?

标签 javascript backbone.js knockout.js spine.js

我想用js建立一个联系人列表,但是有太多的js技术,如backbone.js、spine.js、knockout.js等,我真的不知道哪个最适合我。

我的联系人有几种主要类型:FacebookUser、User 和 UserList。 userlist 的问题在于它是用户或 UserLists 的集合。此外,它本身可能有也可能没有自己的联系信息(如公司或团队)。

我想在 TreeView 中显示此列表,您可以在其中深入查看 UserList(并延迟加载组成员)。

最后,整个联系人列表是一个实例。我的意思是您在同一个窗口中同时打开了 0-n 个联系人列表。

对于这种情况,我应该使用什么框架?

最佳答案

您提到的所有三个库(backbone.js、spine.js、knockout.js)都针对单页浏览器应用程序。

但是您对问题的描述听起来更像是格式问题,而不是数据管理问题。即,您希望您的页面显示数据。您不需要将页面的更改保存回服务器;您的用户将刷新页面以显示新的或不同的信息。

如果我对您的目标的理解是正确的,我会选择 jQuery 或 YUI。你提到的库会有点矫枉过正。

已添加 YUI 有一个不错的 treeview widget支持延迟加载分支。我为此使用它。

如果您决定使用模型层,YUI 3 包括 ModelModelList .它们基于 Backbone api。

回复:MVC 评论 在评论中,OP 提到“对同一数据的多个 View 、更改传播和编辑检测(如果用户更改数字)和来自服务器的更新”

对于那些情况,是的,如今许多酷 child 都在浏览器本身上使用完整的 MVC 框架。如果你想朝那个方向前进,那么你可以使用你提到的三个中的任何一个。备注:

  • Backbone,可能还有其他两个,提供完整的 MVC。相反,Backbone 提供模型和 Controller 部分,尤其是模型。通常使用 Mustache对于 View 。此外,通常使用下划线或 jQuery 来提供基本功能。如果您在 Google 上搜索 Backbone 示例,其中很多都包含 jQuery。

  • 结帐 YUI 新 y.App .它在一个有据可查的库中包含了所有 MVC 部分。 y.App 正在火热开发中,基于Backbone api。 video-cast

  • 浏览器上的 MVC 框架是全新的。不要对快速更改库代码、不一致的文档、很少的示例等感到惊讶。您还应该考虑记录和发布您的调查。为了获得额外的荣誉,让它在移动浏览器上运行良好。

  • 据传 49 Signals 正在开发浏览器端 MVC 框架,但我们还没有看到任何消息。

  • 我认为 backbone 是模型库中最高级的。但它已被证明让许多新用户感到困惑,因此一些其他库基于它的概念。

  • 根据我使用 YUI 的经验,他们的 Y.app 将拥有最一致、最完整的 API 集和最好的文档。

关于javascript - 什么 Javascript 框架最适合这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200115/

相关文章:

jquery - Amplifyjs 发布表单数据

javascript - observable.subscribe 或自定义绑定(bind)或

javascript - 将 Knockout.js 与自定义模板引擎结合使用

javascript - 元素输入上的 JQuery 自定义事件处理程序

javascript - 真的没有兼容Android的可以解析javascript页面的东西吗?

javascript - 当另一个 div 到达页面顶部时简单的 CSS 更改

javascript - 如何捕获 Backbone.save 的 xhr 对象

javascript - 当新模型添加到 Backbone 集合中时,如何避免触发更改事件?

javascript - 向下滚动时减小标题填充顶部值

javascript - 渲染 Backbone.js View ,模型中未定义模板变量