客户端MVC框架是否适合构建UI控件

时间:2011-09-29 08:45:50

标签: javascript html model-view-controller widget backbone.js

最近我一直在考虑开发类似于Extjs或YUI的UI控件套件,但是使用像Backbone或Spine这样的MVC框架。我做错了这个决定吗? mvc框架是否适合这种开发的目的?维持这样一个项目的重要性和成本是什么。

1 个答案:

答案 0 :(得分:1)

从技术上讲,我不明白为什么你不能这样做。您将放弃Backbone的“路由器”部分并坚持使用模型,集合和视图。您可能还会放弃集合和模型的所有后端同步功能,转而使用您自己的客户端应用程序接口。您还必须想出一种方法来一般地应用Backbone渲染模式,以允许客户端应用程序托管您的小部件。您仍会对问题进行分离,并且您的小部件工具包可以正常工作。

但是,我不知道是否会推荐它。通过围绕Backbone构建一个小部件工具包,您需要将您的用户绑定到Backbone,Underscore以及jQuery。您将这样做,但抛弃了Backbone必须提供的许多功能(如路由和同步)。如果客户端应用程序也使用Backbone,您可能还会遇到版本不兼容问题,因此您必须使用noConflict来解决这个问题。

总而言之,我觉得你喜欢将一整套工具套入你的小部件套件中以获得最小的收益。你的小部件工具包就会变得肥胖和臃肿。相反,我会尝试使我的widget工具包更轻量级。使用您在Backbone中学到的模式但不使用主干本身。甚至可以考虑将一些Backbone代码从基础设施中删除,但修改它以消除您不会使用的功能并将其作为您自己的功能。