瞎扯淡 有木有哪位朋友在学 Angular 或 Ember 的同时也在学 BackBone

QueXuQ · 2013年07月12日 · 最后由 zhulinpinyu 回复于 2013年07月19日 · 4671 次阅读

除非做 web app,不然我真的觉得 Angular 和 Ember 太过重了,只是个别页面需要用到 ajax 的情况,就使用 backbone 很好,但是如果做单页面的 app,backbone 就很吃力了。 如果不是单页面 app,不用使用 mvc,觉得很凌乱,全用 ujs 其实工作量很大的。 所以不知道朋友们有没有同感呢?还是说 Angular 或 Ember 大小通吃?

之前有 angular 背景,目前在学 backbone 求给力资料推荐

我一般如果是单页 app 就用 angular,零星的就 ujs+gon 了。angualar 和 ember 我觉得选一个就够用了,没必要两个都掌握。

#1 楼 @zhulinpinyu 为什么从 angular 到 backbone? #2 楼 @everett gon 指的是?angular 和 ember 确实 2 选 1 就可以了,我的疑问是是否还要学个 backbone

先学 backbone 后学 angular 的飘过 backbone 比 angular 重,这点表示不可理解

#3 楼 @QueXuQ 很多人(包括我)都喜欢用 backbone 组织 Javascript 的。即使是非单页面 APP,代码量上了规模的话面向 dom 编程还是显得无力。

@QueXuQ 传变量到 js 的 gem,特别适合重构现有页面到 jquey 小应用或 jquey 植入,当然 data attribute 也很方便,但这个能起到一定程度的全页变量。

Angular 哪里重了,backbone 还要依赖 jQuery 呢 backbone 最早就是为了单页应用需求产生的,但是后来还是有了 Angular, Ember 这些嘛.. 在没有遇到这些困难,这些困难就被解决了的话,确实会觉得很困惑...

#3 楼 @QueXuQ 想请教下 LZ……angularjs 如何和 rails 结合?麻烦吗?我是一直以为 angularjs 会是 ajax 很好的替代品。我觉得写 ajax 很麻烦啊。。。。但是写 angularjs 会更简单?

#8 楼 @krazy 我觉得现在 jQuery 是必备品了吧,没有 jQuery 很多东西用不了,重的概念是指文件的大小,毕竟 backbone 要比 angular 和 ember 小很多。还真不知道 backbone 是为了单页面应用而产生的,因为它连数据绑定都没有,感觉用来组织代码逻辑就很棒。

#9 楼 @cqcn1991 可以看这个:http://railscasts.com/episodes/405-angularjs 我只是大概了解过 angular,开始用起来用爽,但是后面发现很多坑。到后面选择了 ember,但是 ember 入门比较难。 如果是 ember 的例子就非 discourse 莫属了:https://github.com/discourse/discourse js mvc 用的就是 ajax,但是他把这些概念封装好了。例如本来你要获取一个 model 的值,你写 ajax 的话要:

$.get('test/1', function(data) {
  $('.result').html(data);
});

就是到一个 api 接口发送请求,而如果使用了 js mvc(ember)后:

App.Test.find(params.test_id)

经过这样的封装就非常易懂,而且写起来很方便。 而 mvc 还有一个优势是使用了模板,就不需要写大量的 dom,例如:

$("p").click(function () {
  var htmlStr = $(this).html();
  $(this).text(htmlStr);
});

而 ember 下的 handlebars 就是和 html 一样,然后就上面的例子,当点击 p 的时候,就读取这个 handlebars,然后就自动插入{{outlet}}的地方,就不需要写各种 dom 的。

我得感触是如果你频繁操作 dom 的话还是用 angular 吧,单页 app 的话就用 backbone 吧。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号