Javascript 什么时候使用JS框架过度开发应用程序
因此,我现在开发了一个JS库,它目前执行一系列操作,并使用其他框架生成一系列图表。。。我的问题是,我应该使用像backbone.js或ember.js这样的框架来利用和改进我的应用程序吗? 我想知道我是否应该利用某种框架来编写我的应用程序?我一直将其视为一个插件/类。我应该在哪里划界 应用程序流程:Javascript 什么时候使用JS框架过度开发应用程序,javascript,jquery,design-patterns,backbone.js,ember.js,Javascript,Jquery,Design Patterns,Backbone.js,Ember.js,因此,我现在开发了一个JS库,它目前执行一系列操作,并使用其他框架生成一系列图表。。。我的问题是,我应该使用像backbone.js或ember.js这样的框架来利用和改进我的应用程序吗? 我想知道我是否应该利用某种框架来编写我的应用程序?我一直将其视为一个插件/类。我应该在哪里划界 应用程序流程: 获取它需要构建的所有图表的数据集,包括标题等。。。这可以是100多个图形 基于数据集构建HTML标记 在DOM Ready上,为添加到标记中的每个Graph div调用我的Graph lib。。。它
var App = App || {};
App.Graph = function(options){
var _default = {version:null};
var _options = extend(options,_default);
var __int = function(){
// do work....
};
var __getData = function(){
// do work...
};
var __genChart = function(){
// do work...
};
var __load = function(loadBig,callback){
// do work....
};
this.load = function(big,callback){
// do work....
};
__init();
};
var Graph = function(options){
var _default = {version:null};
var _options = extend(options,_default);
var __int = function(){
// do work....
};
var __getData = function(){
// do work...
};
var __genChart = function(){
// do work...
};
var __load = function(loadBig,callback){
// do work....
};
this.load = function(big,callback){
// do work....
return __genChart();
};
__init();
};
var App = Ember.Object.extend({
graph: null,
init: function(thing){
// do work...
this.graph = new Graph();
},
load: function(thing) {
// do work...
return this.graph.load(big,callback);
}
});
与类似于。。。我知道我可能做得不对。
App.Graph = Ember.Object.extend({
init: function(thing){
// do work...
},
load: function(thing) {
// do work...
var __int = function(){
// do work....
};
var __getData = function(){
// do work...
};
var __genChart = function(){
// do work...
};
var __load = function(loadBig,callback){
// do work....
};
return __load(loadBig,callback);
}
});
与可能的组合,以便我可以重用图形框架…
var App = App || {};
App.Graph = function(options){
var _default = {version:null};
var _options = extend(options,_default);
var __int = function(){
// do work....
};
var __getData = function(){
// do work...
};
var __genChart = function(){
// do work...
};
var __load = function(loadBig,callback){
// do work....
};
this.load = function(big,callback){
// do work....
};
__init();
};
var Graph = function(options){
var _default = {version:null};
var _options = extend(options,_default);
var __int = function(){
// do work....
};
var __getData = function(){
// do work...
};
var __genChart = function(){
// do work...
};
var __load = function(loadBig,callback){
// do work....
};
this.load = function(big,callback){
// do work....
return __genChart();
};
__init();
};
var App = Ember.Object.extend({
graph: null,
init: function(thing){
// do work...
this.graph = new Graph();
},
load: function(thing) {
// do work...
return this.graph.load(big,callback);
}
});
提前谢谢 这是一个相当广泛的话题,尤其是当我们对你的应用程序唯一了解的是它会生成图表时。你特别挑选主干和余烬有什么特别的原因吗?我注意到你也使用了jquery标记…@nnnnnn,所以当用户选择一个时,应用程序将生成很多交互式图形,它将在主页中加载另一个图形,用户可以对该图形进行操作。。。因此,图形库还有更多的工作要做。我尽量不使用Jquery ref,因为它不应该使用。在使用了许多JS框架之后,比如YUI3、主干、CanJS等,我可以说的是,框架为您的应用程序带来了文档化的结构。假设您在一个团队中工作,每个人都知道当他们必须实现一项功能时会发生什么。它还删除了常见的样板代码。例如:主干具有in-events散列,它去掉了您为添加侦听器而编写的代码,并实现了使用委托的标准,并提供了干净的API来清除这些侦听器和引用。因此,框架确实在某种程度上有所帮助,您不必花费大量时间编写初始代码。