Backbone.js只适用于单页应用吗?
Is Backbone.js only for single page applications?
我正在为我的UI寻找一个简单的架构,它将有一些基本的javascript功能,如:选择所有的复选框,图像裁剪,一些弹出窗口和一些其他插件。
我找到了这篇文章:用模块组织你的Backbone.js应用
我的应用程序不是SPA(单页应用程序)。我想知道如果Backbone.js与jQuery将帮助我,即使我的应用程序不是一个SPA。
Backbone的强大之处在于它能够管理许多模型(甚至是复杂的模型),并使呈现的页面与当前值保持同步。它提供了getter/setter函数的接口,这样,模型值的更改(有许多不同的"更改"方式)将调用相应视图上的render,页面将正确地反映底层模型。此外,它还提供了对模型进行保存、分页和路由操作的接口。
我已经在SPA(它的亮点所在)和更传统的多页面应用程序中广泛使用了Backbone。它没有对UI和DOM操作的特殊支持,但是结合jQuery/Prototype/Zepto,它管理它们的渲染/操作。
基本上,主干最适合解开复杂的呈现逻辑和模型更新链。如果您觉得您的应用程序有很多视图元素需要与客户端将在页面上更新的模型保持同步,那么Backbone是一个很好的解决方案。如果您只需要选择和操作DOM元素,那就有点多余了。
Backbone真的不是关于你提到的事情,但我也不会说它严格适用于单一年龄的应用程序(SPA)。我想说的是,它适用于任何情况下,你有相当复杂的页面,它将有利于你把它们分成多个部分(例如,几个视图,所有从一个模型提取数据)。
然而,我认为Backbone.js的优势在于SPA领域。
如果你还没有使用jQuery作为你的应用程序的一部分,你可能会找到一些jQuery片段来回答你的一些需求。然而,jQuery是关于你提到的部分(简单的DOM操作,如果你使用jQuery UI弹出窗口等),而不是关于结构或组织。
我相信骨干的主要思想,是使用MVC概念组织复杂应用程序中的JS代码。这样你的应用就更容易维护和添加新功能,也更容易使用像jasmine这样的框架测试。
主干也使基于SPA方法的工作成为可能(并且非常好),使用ajax请求服务器。它完全基于Restful概念,要获得一个使用骨干的代码,理解什么是Restful是很重要的。
基本上主干有一个路由器(可以像控制器一样工作)。但不是控制器)。
模型,您可以在其中管理应用程序的所有数据逻辑。集合,类似于模型列表。视图,这是您将根据模型更改做出反应的地方。
还有其他的事情,但基本上是这样的。
但就像我之前说的,你可以不做SPA就使用它。
要记住的最重要的事情是,在使用骨干时必须遵循MVC的概念。如果你不这样做,使用主干就没有意义。
- 如何照顾CSRF&单页应用程序中不使用cookie的XSS攻击
- WordPress驱动的单页应用程序,具有通用JavaScript
- 在非SPA(单页应用程序)中使用Require.js和Backbone
- 单页应用程序的javascript集成测试
- 如何在单页应用程序中重新绘制图像
- 如何计算angular JS应用程序(单页应用程序)的页面加载时间
- Dojo:在单页应用程序中交换两个不同的视图
- AngularJS单页应用程序中的Toggable选项卡
- 单页应用程序中的登录页面
- 在单页应用程序上进行客户端路由的正确方法是什么
- JS单页应用程序和基于PHP的登录系统
- 为持久单页应用程序创建会话超时警告
- 单页应用程序的Javascript依赖性管理
- 单页网页应用程序所需的设计建议
- backbone.js单页应用程序中的引导程序教程
- 在单页web应用程序中一次只显示特定的表单
- Github Pages中是否有一个配置允许您将所有内容重定向到单页应用程序的index.html
- 将Ember.js用于单页网站(不是真正的网络应用程序)
- 在单页应用程序上重用谷歌地图API实例
- 在单页应用程序中使用敲除绑定进行id导航