我已经知道余烬了.与主干相比,js是一种更重的方法.js.我读了很多关于这两者的文章.

我在问自己,哪个框架作为rails rest后端的前端更容易工作.为了脊梁骨.我看到了调用rest后端的不同方法.对于ember,我似乎必须包含更多的库,比如"数据"或"资源".为什么会有两个图书馆?

那么更好的 Select 是什么呢?连接前端和后端的例子也不多.这是一个很好的后端rest调用的工作示例:

乌里:/restapi/主题

推荐答案

与大众观点相反,余烬.js并不是主干网的"更重的方法".js.它们是针对完全不同的最终产品的不同类型的工具.Ember的最佳应用是用户将应用程序保持长时间(可能是全天)打开的应用程序,与应用程序的视图或底层数据的交互会触发视图层次 struct 的深刻变化.余烬比主干要大,但多亏了ExpiresCache-Control,这只在第一次加载时才起作用.在每天使用两天后,额外的30k将因数据传输而黯然失色,如果您的内容涉及图像,则更快.

主干网非常适合于具有少量状态的应用程序,在这些状态下,视图层次 struct 保持相对平坦,并且用户倾向于不经常或短时间访问应用程序.主干网的代码保持简短,因为它假设支持DOM的数据将被丢弃,两个项目都将被收集到内存中:https://github.com/documentcloud/backbone/issues/231#issuecomment-4452400主干网的较小尺寸也使其更适合简短的交互.

人们在这两个框架中编写的应用程序都反映了这些用途:Ember.js应用程序包括Square's web dashboardZendesk(至少是代理/票务界面)和Groupon's scheduler:用户可能整天都在使用的所有应用程序.

主干应用程序更关注简短或随意的交互,通常只是较大静态页面的一小部分:airbnbKhan AcademyFoursquare's map and lists.

您可以使用主干网来创建余烬针对的应用程序(例如Rdio个)

最终,"使用哪个"的问题有两个答案.

首先,"一般来说,在我的职业生涯中,我应该使用哪种工具":两者都是,就像你最终会学习任何你将来想做的工作的特定工具一样.你永远不会问"主干还是D3?";"主干还是余烬"是一个同样愚蠢的问题.

第二,"我应该在下一个项目中具体使用哪一个":取决于项目.两者都可以轻松地与Rails服务器通信.如果您的下一个项目涉及服务器生成的页面与JavaScript提供的所谓"丰富岛"的混合,请使用主干.如果下一个项目将所有交互推送到浏览器环境中,请使用Ember.

Ruby-on-rails相关问答推荐

在Ruby on rails中,重复访问ActiveRecordModel返回相同的对象:预期行为还是错误?

我使用rbenv安装Ruby,但我在使用";gem";->;错误:执行gem时遇到此错误.(Errno::EACCES)权限被拒绝

在URL中将下划线更改为连字符Ruby on Rails

Rails 7.1,登录到STDOUT和LOG/Production.log

CanCanCan、Pagy 和 Meil​​iSearch,如何组合这 3 个 gem?

从 rails 5 升级到 6 和 zeitwerk

Rails 7 共享刺激控制器功能

当我必须更改 rspec 中的方法时,如何检测时间?

使用 Ruby On Rails 的多个用户模型,并设计有单独的注册路由,但只有一个共同的登录路由

设计 token_authenticable 已弃用,有什么替代方案?

Rails:用于创建固定长度 char(12) 列的迁移

使用回形针进行简单裁剪

在 Ruby on Rails 上,我们如何在控制器中打印调试信息?

如何在不删除项目本身的情况下删除单个 HABTM 关联项目?

如何编写 Capybara 断言来判断按钮的存在及其启用或禁用状态?

rmagick 和 OS X Lion

如何让 ActiveAdmin 使用强参数?

ActiveRecord 查找现有表索引

在 Rails 协会中未找到名为的协会可能拼写错误的问题

如何在每个操作的基础上禁用 Ruby on Rails 的日志(log)记录?