CNode

有人用backbone.js 开发吗?

Yyjj676发布于13 年前最后回复12 年前30 回复19048 浏览0 收藏

最近发现一个轻量级js的mvc框架——backbone.js 官网链接戳我 他的特点是: 轻量级,支持jquery,自带路由,对象化视图,强大的sync机制减少页面大小从而加快页面显示。 但是用过后发现一些不好的地方: 它可以template去绑定视图的内容,虽然是方便编辑了,但是却要把切片改成一个个template是一件很蛋疼的事,假如一个sina门户的话就哭了。 用hash来做路由,如果是php开发的话,感觉就像是phper在跟着前端做项目的赶脚。

总之个人的感觉是:很牛逼,搭上node话很不错,是一种不错的趋势。但是商业开发的话,就祈祷老板不要变来变去。 以上是个人拙见, 希望有了解过backbone的童鞋一起来探讨下。

查看回复

回复 (30)

B
babyphenix#1·13 年前

如果你做移动端html开发的话,backbone是个不错的选择。另外现在的页面都趋于简单化和模块化,用backbone 还是很不错的,我现在就用backbone+bootstrap作前端UI.

D
dandandancj#2·13 年前

轻量级优点不敢苟同啊。。。我记得之前看过的backbone的介绍,说其实这是个比较重量级的框架。我之前实习的公司的一个产品使用backbone+requirejs做前端。感觉很不错。然后我们架构师说的最多的一句话就是:要养成面向模型编程的思想。。

B
brucefeng#3·13 年前

真正业务复杂的项目还是最好不用这种框架性质的。框架再NB都有一套自己的规矩,就像你要做一辆车,但是他只能给你那种规格的轮子。业务复杂性的项目用工具不要用框架,特别是几个框架混用的时候带来的麻烦可真多。

J
jiyinyiyong#4·13 年前

REST 风格的 API, 上手不大习惯.. 觉得面向对象还是比较重的, 条条框框很多

N
nightink#5·13 年前

主要是数据解耦 碎片化

Y
yjj676#6·13 年前
引用 babyphenix如果你做移动端html开发的话,backbone是个不错的选择。另外现在的页面都趋于简单化和模块化,用backbone 还是很不错的,我现在就用backbone+bootstrap作前端UI.

我是在做移动开发,感觉不错。但是觉得backbone也适用与桌面web开发。现在的客户端存储技术越来越多了,localstorage,cookie,Indexed Database.manifest,所以我觉得会有越来越多的逻辑层放到客户端去做,所以js mvc会越来越受欢迎,js的模块化是势在必行的、

Y
yjj676#7·13 年前
引用 dandandancj轻量级优点不敢苟同啊。。。我记得之前看过的backbone的介绍,说其实这是个比较重量级的框架。我之前实习的公司的一个产品使用backbone+requirejs做前端。感觉很不错。然后我们架...

我是指他的代码小压缩后不到7K,既然用mvc就不会只是给一个页面加个交互功能什么的。他已经上升到框架了。但是在框架来说它是轻量级的了,不知道我的观点对不。

X
xuanye#8·13 年前

我感觉像是重量级的。。

M
mjerry#9·13 年前

可以试试angularjs

Y
yjj676#11·13 年前
引用 jiyinyiyongREST 风格的 API, 上手不大习惯.. 觉得面向对象还是比较重的, 条条框框很多

我也是,记得当初学php的zend framework时花了好大的劲取适应

Y
yjj676#12·13 年前
引用 nightink主要是数据解耦 碎片化

这是永恒的话题啊。我目前采取的办法是用一个全局对象来做命名空间,去减少耦合性。不知道你自爱解耦上还有什么别的办法。小弟的工作组要是css切片,都是业余时间去学习js。所以很多东西都是知道不全面。我希望你和我谈谈你们在js解耦和碎片化的方法。谢谢

X
xiaojue#13·13 年前

backbone入门成本有点高,如果之后招来的人不是geek犯的话 很容易给项目带来风险。

重复代码和其他框架重复的较多。

如果仅仅是想解耦,自己写点自定义事件就完了。。

不要跟风,web app优点教多,但是也不是必选,普通网站还是算了。。

X
xiaojue#14·13 年前
引用 nightink主要是数据解耦 碎片化

@yjj676 backbone的每个model其实就是单独的一套数据定义格式。collections就是model的集合。view和route是方便你把数据和model或者collections连接在一起的。

搞明白了之后,其实backbone最大的好处就是让数据和视图业务分离开,而且可以通过框架自身规定好的事件,实现数据变更视图重新渲染,进而深度处理一些兼容问题,比如重复渲染的事件解绑,委派等。

如果js面向对象不太熟悉,用起来太吃力了。

js解耦和数据解耦不是一回事,命名空间的方法是5年前比较out的方法,现在都是用模块化开发来解耦大js文件。比如nodejs,seajs,requirejs,lithe.js等等。。cmd/amd实现框架。

X
xiaojue#15·13 年前

underscore拿出来用用还不错。如果前端需要大量处理渲染数据的话。

L
leohxj#16·13 年前

AngularJS看着比Backbone简单。。。

R
runawaygo#17·13 年前

我只能说Backbonejs是GUI Architect的真理,松散,简单,基于事件,扩展模块非常多。其他框架宣称的功能 AngularJS,emberjs也都各有优势,不过双向绑定,自动绑定这种看起来很美好的东西,并不是在所有类型的应用当中都适用。 你可以热爱真理,但是必须根据项目选择合适框架

K
kingapple#19·12 年前
引用 nightink主要是数据解耦 碎片化

@xiaojue 赶脚JS的模块化还是个渣渣,没Java好用;)

J
JacksonTian#20·12 年前

Backbone最好的是它的每个设计。但是要构建自己的应用,没有必要什么都盲从它。

X
xiaojue#21·12 年前
引用 nightink主要是数据解耦 碎片化

@kingapple 前端要考虑网络请求,java当然优势很多。你自己写过模块管理器么。。

K
kingapple#22·12 年前
引用 nightink主要是数据解耦 碎片化

@xiaojue 亲,为何要自己造轮子呢

X
xiaojue#24·12 年前
引用 nightink主要是数据解耦 碎片化

@kingapple 和造轮子没关系吧。我是说实现复杂程度,你关注错我说话的点了。。

T
tulayang#25·12 年前

我的感觉就是oo ui之类的框架,完全破坏了编程的本质: 模块、算法。

J
jiyinyiyong#26·12 年前
引用 tulayang我的感觉就是oo ui之类的框架,完全破坏了编程的本质: 模块、算法。

@tulayang 不觉得, 图形界面本来就要靠 OO 跟 MVC, 这些是主流技术.

K
kingapple#27·12 年前
引用 leohxjAngularJS看着比Backbone简单。。。

@leohxj 这俩货一个概念的? A是对html的增强,B也是么?

参与回复
登录后即可参与回复。登录