我最近开始学习节点并尝试构建应用程序。我正在阅读关于哪一端最好为单页应用程序进行渲染。
最好在后端渲染,因为初始加载速度更快,而且seo更好
最好在前端渲染,因为使用像ember,backbone,angular这样的框架,你可以绑定变量并轻松更新它们,而不必过多地使用DOM。
我得出了尝试混合方式的结论(在后端初始化,在前面更新)。是否有一些坚实的框架?
答案 0 :(得分:2)
目前为了完整起见,我会注意到Meteor和AngularJS目前仅限浏览器。我怀疑这两个项目可能会在2014年晚些时候有一些服务器端渲染选项。
答案 1 :(得分:1)
你的假设是正确的,混合方法似乎是一种黄金方式,因为它结合了客户端生成的UI的优点(快速,动态,离线准备)和服务器端呈现UI的优势(主要是页面构建)速度)。这就是Twitter将客户端JavaScript方法迁移回服务器呈现内容的原因[1]。
Ember JS将很快推出一个名为FastBoot [2]的功能,它允许按照您的要求构建一个hyrid方法来进行页面渲染。 我不知道任何其他本质上支持这个的框架。 当然,您可以随时启动像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