Ember.js或Backbone.js的用于雷斯特夫尔后端[关闭](Ember.js or Bac

2019-08-01 17:17发布

我已经知道ember.js是相反的Backbone.js的一个更重量级的方法。 我读了很多关于这两篇文章。

我问自己,这框架可以作为前端的轨道休息后端更容易。 对于Backbone.js的我看到了不同的方法来调用一个休息后端。 对于烬看来我必须包括像“数据”或“资源”一些库。 为什么有两个库吗?

所以,什么是更好的选择? ;随行很多例子来连接与后端的前端了。 请告诉我一个后端REST调用这个良好的工作例如:

URI:../restapi/topics GET身份验证凭据:管理/秘密Hey hey格式:JSON

Answer 1:

流行的观点相反Ember.js是不是“更重的重量的方法”来Backbone.js的。 他们是不同类型的靶向完全不同的最终产品的工具。 Ember的甜蜜点是应用中的用户将保持应用程序打开的很长一段时间,也许一整天,并与应用程序的意见或底层数据交互触发视图层次结构的深刻变化。 灰烬比骨干较大,但由于ExpiresCache-Control的第一负载这只事项。 在每天使用的两天额外的30K将数据传输,如果你的内容涉及图像所掩盖,迟早。

骨干是理想的具有小数目的状态应用,其中视图层次保持相对平坦,其中用户趋向于不频繁或较短的时间访问该应用程序。 骨干代码得到保持简短而亲切,因为它使假设后盾DOM数据将得到扔掉这两个项目将被存储收集: https://github.com/documentcloud/backbone/issues/231#issuecomment-4452400骨干较小的尺寸也使得它更适合的简短交流。

人这两个框架编写的应用程序反映了这些用途:Ember.js应用包括广场的网络信息中心 , 的Zendesk (至少代理/票务接口)和Groupon的调度 :所有应用程序,用户可能会花一整天的工作。

骨干网应用更专注于短暂的或偶然的相互作用,这往往是一个较大的静态页面的只是小部分: 发现生活怎样 , 汗学院 , Foursquare的地图和列表 。

可以使用骨干,使种是灰烬目标(例如应用RDIO )由a)增加的应用程序代码中你负责的量,以避免像内存泄漏或僵尸事件的问题(我个人不推荐这种方法)或者b)通过添加第三方库像backbone.marionette或尾骨 -有许多这些库的所有尝试提供类似的功能重叠的,你可能会最终组装自己的自定义框架,更大,不仅仅需要胶水代码如果你只是使用灰烬。

最后的问题“它用”有两个答案。

首先,“我应该采用哪一种,一般,在我的职业生涯”:两个,就像你最终学习具体工作的任何工具,你会想在未来做。 你从来不问“骨干或D3?”; “骨干或余烬”同样是一个愚蠢的问题。

其次,“我应该采用哪一种,具体而言,在我的下一个项目”:取决于项目。 双方将用同样容易Rails的服务器进行通信。 如果你的下一个项目涉及的服务器与所谓的“丰富的岛屿”生成的页面混合由JavaScript使用骨干提供。 如果你的下一个项目推动所有的相互作用在浏览器环境中,使用灰烬。



Answer 2:

举一个简单的,简单的答案:对于一个RESTful后端,此刻,你应该使用主干。

为了给出一个更复杂的答案是:这真的取决于你在做什么。 正如其他人所说,灰烬是专为不同的东西,会吸引一组不同的人。 我简短的回答是基于你的REST风格的要求纳入。

目前,灰烬数据(这似乎是内灰烬默认的持久性机制)是远离生产做好准备。 这意味着,它有相当多的漏洞和关键的是,不支持嵌套的URI(/职位/ 2 /评论/ 4556为例)。 如果REST是你的要求,那么你就必须解决这个暂且如果选择灰烬(即你要么必须破解它,等待,从头开始实施类似灰烬,自己的数据,或者使用不 - 非常的RESTful的URI)。 灰烬数据不是严格灰烬的一部分,所以这是完全可能的。

两个,除了尺寸之间的主要区别,是基本上是:

Ember公司试图为你做尽可能多的,这样你就不必编写大量的代码。 这是非常分层,如果你的应用程序也很分层,将可能是一个不错的选择。 因为它没有那么多对你来说,它可能很难找出其中的错误的来源和原因的意外行为正在发生的事情(有很多“神奇”)。 如果您有适合自然成灰烬希望你来,虽然建筑应用的类型的应用程序,这可能不会是一个问题。

骨干试图尽可能少做尽可能为你,让你可以推理是怎么回事,并建立一个适合你的应用程序的体系结构(而不​​是建立一个适合你使用的架构下,一个应用程序)。 这是一个更容易上手,但是,除非你很小心,你可以用一个烂摊子很快结束。 它不会做的东西一样计算性能,自动解除绑定事件等,并留给他们了你,所以你将需要实现很多东西自己(或者至少挑选为你做的库),尽管这是而整点。

更新 :看来,截至日前,灰烬现在不支持嵌套的URI,所以我想这个问题归结到你多么神奇喜欢的灰烬是一个不错的选择,建筑风格,为您的应用程序。



Answer 3:

我觉得你的问题将很快被堵塞:)有两个框架之间的一些争论。

骨干基本上没有做很多事情,这就是为什么我喜欢它:你将不得不编写了很多,但你会在正确的位置进行编码。 Ember公司做了很多事情,所以你最好看它在做什么。

服务器讨论的几件事情,确实骨干之一,它做了伟大的工作吧。 因此,我将开始与骨干网,然后给一个尝试灰烬,如果你不完全满意。

您还可以收听该播客 ,其中杰里米阿什克纳斯,骨干网的创建者和耶胡卡茨,灰烬的成员,有一个很好的讨论



文章来源: Ember.js or Backbone.js for Restful backend [closed]