什么是资产管道/ Turbolinks从Rails的4大应用的利弊? [关闭](What are

2019-08-06 03:56发布

我们正在研究一个相当大,应用范围广。 该网站将有很多不同部分的一些非常不同的用户界面的需求和行为。

展望未来,轨道4分离资产管道到分离的宝石,所以我们可以选择包括与否。 同样的事情可能会发生turbolinks。

我一直在问自己这些天,并不能找到答案的问题是:我应该使用论文库我们的项目或没有?

我在反思的主要问题是事实,所有功能于一身的文件策略将可能无法正常工作,我们将在应用程序的不同部分使用的文件包。 turbolinks将如何与这个反应,因为它必须假设所有的JS / CSS已加载? 请问这样的配置的优点,克服了管道和turbolinks都暗示了代码的复杂性?

我不指望一个是/否的答案,只是对此事的一些看法。

Answer 1:

两者都是有效的工具,并不一定相互抵消。

Turbolinks:使您可以只加载一个页面的主体,从而使得它作为一个AJAX请求工作(这种行为的一个例子是一个Facebook有)。

好处:

  • 跳过完全呈现一个新的页面,从而消除“空白页”时在浏览器无响应的浏览器的任务。
  • 相关与以前的:如果你有行为可能会影响通过加载一个新的页面,就像我们说,播放歌曲,turbolinks不会影响到它(见的SoundCloud旁边)。
  • 不会重新加载该文件头,因此不能加载相同的标签/内容两次(如果是相同的)。
  • 使您可以仍缓存在服务器端查看内容。

缺点:

  • 一拖如果标题标签真的需要更新(新的js文件,新的css文件,元标签更新中...)
  • 如果你想使用客户端查看渲染,它只是没有为它的工具。
  • 默认行为禁止的行为仅仅是痛苦的(使用CSS类禁用部分内锚标签?只是很烂)。

它实际上是一个什么样的应用程序的架构,这是什么目标的问题。

关于资产流水线,我曾与它混合的结果,尽管我会说这有利大于弊。 总体而言,前处理工具,增强跨浏览器的开发效率,但在生产中不依赖于它。 但在资产流水线的情况下,它与你想要它做什么为好。 您可以预先处理SASS,CoffeeScript的,你有一个像指南针或波旁大图书馆,但是这也可以增加你的性能开销。 因此,标杆,看看是否这些应该是你的工具。



Answer 2:

让我们先从一个关于缺点职位: http://eviltrout.com/2013/01/06/turbolinks-and-the-prague-effect.html

如果这不是你一个问题: http://geekmonkey.org/2012/09/introducing-turbolinks-for-rails-4-0/

为了总结的东西了:Turbolinks将提高你的页面加载,如果显著页面分享JavaScript和CSS样式。 PJAX就派上用场了,当服务器端性能是一个问题。

  • 希望这可以帮助 :)


文章来源: What are the pros and cons of Asset-Pipeline/Turbolinks from Rails 4 for a big application? [closed]