一般来说,我是后端和全栈开发人员以及技术主管。我多年来一直在选择开发工具。
对于后端,我选择了Typesafe Stack。它使应用程序具有反应性,并且相对容易扩展和维护。在Scala中编写代码很有趣。
对于前端,我使用Angular.js,之前是knockout.js,YUI,Mootools,jquery,vanilla。
但是对于Angular.js我真的很困惑。问题不在于工具本身,而在于Web发展的方式。
目标是加强应用程序,使其更具响应性,反应性和交互性。它将我们引向单页应用程序。 Angular.js很适合它。
对于现代应用程序,尽快呈现第一页非常重要。对于单页面应用程序,在解析主模板,然后加载所有脚本,然后启动应用程序,路由请求,然后向服务器请求一些REST资源,将其绑定到模板,然后将其显示给用户之前不会发生。
等待很多网络延迟!许多顺序请求一个接一个地出现。
所以要花很多时间看内容。此外,它很难通过搜索引擎进行索引,并限制了可访问性(Safari中的阅读器模式通常不会受到angular.js生成的标记)。
嗯,可以通过prerender.io等工具解决搜索问题。好的,即使它看起来很难看,但关于第一页加载的是什么?
我听说Twitter终于在后端渲染内容,然后用脚本包装。怎么样?
我在node.js上看到了一些具有相同目的的项目。它们使用客户端实际获得的相同javascript呈现内容,并将结果输入html。然后用React.js触发器和代码,甚至angular.js包装它。但是如果Node.js后端不是我们的选择呢?
因此要求非常自然:
我是否独自反对这个问题?你觉得怎么样?
答案 0 :(得分:1)
以下是您的选择: - 使用node.js中间服务器,它依赖于您选择的服务器技术来获取实际数据和内容。亲,你可以慢慢测试它,然后再完全移动它。 - 两次写入所有模板逻辑两次,一次用于服务器,另一次用于客户端。使用node.js可以让你重新使用前端的逻辑,但Angular.js并不完全是节点友好的,因为它依赖于DOM。
如果您确实希望获得最佳的首页加载体验,那么您应该看看我今天给出的答案: AngularJS SEO for static webpages (S3 CDN)
它可以让你引导一个静态应用程序,该应用程序在你的角度应用程序加载时只使用样式和路由。希望有所帮助。