【发布时间】:2013-12-14 22:14:39
【问题描述】:
我最近开始学习 node 并尝试构建一个应用程序。我正在阅读关于在哪一端渲染单页应用程序更好。
由于更快的初始加载和更好的 seo,最好在后端渲染
最好在前端渲染,因为使用 ember、backbone、angular 等框架,您可以绑定变量并轻松更新它们,而无需过多地通过 DOM。
我得出的结论是尝试混合方式(后端初始,前端更新)。是否有一些可靠的框架?
【问题讨论】:
我最近开始学习 node 并尝试构建一个应用程序。我正在阅读关于在哪一端渲染单页应用程序更好。
由于更快的初始加载和更好的 seo,最好在后端渲染
最好在前端渲染,因为使用 ember、backbone、angular 等框架,您可以绑定变量并轻松更新它们,而无需过多地通过 DOM。
我得出的结论是尝试混合方式(后端初始,前端更新)。是否有一些可靠的框架?
【问题讨论】:
【讨论】:
您的假设是正确的,混合方法似乎是黄金方式,因为它结合了客户端生成的 UI 的优势(快速性、动态性、离线准备)和服务器端呈现的 UI(主要是页面构建)的优势速度)。这就是 Twitter 从客户端 JavaScript 方法迁移回服务器呈现内容的原因 [1]。
Ember JS 将很快引入一个名为 FastBoot [2] 的功能,它允许根据您的要求构建一种混合方法来呈现页面。 我不知道有任何其他框架本质上支持这一点。 当然,您总是可以启动像 PhantomJS 这样的无头浏览器在服务器端进行渲染,但透明地转换到客户端模式是未知的领域。
[1]https://blog.twitter.com/2012/improving-performance-on-twittercom
[2]http://emberjs.com/blog/2015/01/08/inside-fastboot-faking-the-dom-in-node.html
【讨论】: