一般来说,我是后端和全堆栈的开发人员和一个技术领头羊。多年来,我选择开发工具。
在后端,我选择了Typesafe Stack。它使应用程序具有反应性,并且相对容易扩展和维护。用Scala编写代码也很有趣。
对于前端,我使用Angular.js,以前是knockout.js、YUI、Mootools、jquery、vanilla。
但是对于Angular.js,我真的很困惑。问题不在于工具本身,而在于Web的发展方式。
其目的是加快应用,使其更有响应性、反应性和交互性。它把我们引向了单页应用。Angular.js对此很有好处。
但。
对于现代应用程序来说,尽快呈现第一页是非常重要的。对于单页应用程序,在解析主模板、加载所有脚本、启动应用程序、路由请求、然后请求服务器提供一些REST资源、将其绑定到模板并将其显示给用户之前,这是不可能的。
有很多的网络等待时间!一连串的请求接踵而至。
所以看内容要花很长时间。此外,它也使得很难通过搜索引擎进行索引,并限制了可访问性( Safari中的Reader通常不尊重angular.js生成的标记)。
嗯,我们可以通过像prerender.io这样的工具来解决可搜索的问题。好吧,即使它看起来很难看,但是第一页加载是什么呢?
我听说Twitter最终变成了在后端呈现内容,然后用脚本包装它。多么?
我在node.js上看到了一些具有相同目的的项目。它们使用客户端实际获得的相同的javascript来呈现内容,并将结果html提供给它。然后用React.js触发器和代码,甚至angular.js包装它。但是如果Node.js后端不是我们的选择呢?
因此,这些要求是非常自然的:
只有我一个人反对这个问题吗?你是怎么想的?
发布于 2014-05-12 05:14:39
下面是供您选择的选项:-使用node.js中间服务器,它依赖于您选择的服务器技术来获取实际数据和内容。Pro,你可以慢慢地测试它,然后才能完全使用它。-两次编写所有模板逻辑两次,一次用于服务器,另一次用于客户端。使用node.js只允许重复使用前端的逻辑,但是由于Angular.js对DOM的依赖,所以它并不完全是节点友好的。
如果你想获得最好的首页加载体验,你应该看看我今天给出的答案:AngularJS SEO for static webpages (S3 CDN)。
它将允许您引导一个静态应用程序,它与样式一起工作,并且在您的角度应用程序加载时只使用CSS进行路由。希望这能有所帮助。
https://stackoverflow.com/questions/23221335
复制相似问题