现在有很多Javascript MVC框架可供使用(Backbone.js,Cappuccino,Ember.js,GWT等),每个框架都有自己的正面和负面。 我的问题是;
- MVC框架提供的正常Javascript的实际好处是什么?
- 所有框架都主要基于jQuery吗?
- 如何决定采用哪种框架?在确定某个框架之前,需要提出哪些问题?
- 我对MVC的一个具体问题是,有一些框架在模型/数据发生变化时立即更新视图......那么可以通过AJAX实现吗?
请以非常基本的实际条款告诉我..
现在有很多Javascript MVC框架可供使用(Backbone.js,Cappuccino,Ember.js,GWT等),每个框架都有自己的正面和负面。 我的问题是;
请以非常基本的实际条款告诉我..
优点:
不。例如,ExtJS的起源来自GWT(如果我没记错的话)
我希望这有帮助。
MVC提供了超越标准JavaScript的架构优势 - 它可以帮助您编写更有条理,更易于维护的代码。这是一种在多种语言和几代程序员中使用和广泛测试的模式。有可能,如果你想做某事,其他人已经做过,所以使用经过时间考验的模式可以帮助你利用模式的好处,而不会犯下早期程序员所犯的错误,从而节省你的时间和精力
Backbone不是基于jQuery,但它与jQuery兼容,并且如果你使用它,它会给你一些好处,例如:在视图中,它为您提供了对$ el中视图容器的缓存引用。但是如果你使用Zepto而不是jQuery,$ el包含在Zepto功能而不是jQuery中。
YUI有MVC组件,完全不是基于jQuery;)
根据当前项目的需要,框架的文档,基于它的社区等来决定使用哪个框架。与选择使用哪个JS库或使用哪个后端框架等相同。什么是一个人/项目的权利可能不适合另一个人/项目
我对MVC的一个具体问题是,有一些框架在模型/数据发生变化时立即更新视图......那么可以通过AJAX实现吗?
他们都以某种方式这样做,这就是MVC的目的。当模型发生变化时,会通知视图并重新渲染自己......但是他们以不同的方式执行此操作。
现在 在我看来,使用jQuery,一个人不应该真正需要一个“外部”MVC框架,因为jQ已经有一个内置的事件系统,很多辅助函数,并且javascript对象足够动态,可以动态附加任何行为他们没有定义对象的“类”。
我的观点是:你可以用jQuery做你自己的MVC,所有工具都已经在库中。
如果你需要其他东西,比如“路由器”,验证助手,脚手架等......那么MVC框架就是你要走的路。