我对这个概念有疑问:
我已经缺席了大约3 - 4年的网络开发实践,现在,当我尝试回归它并采用最后的技术时,我感到非常困惑。
过去,我习惯使用JSP / PHP / Java Servlets或其他一些处理服务器页面然后将其发送到客户端的技术。例如(JSP):
<% for (String s : names) { %>
<% =s %>
</br>
<% } %>
如果我理解正确,现在, AngularJS 应该在客户端上执行循环,而不是在服务器上执行Java,并且数据应该由客户端以JSON格式实现,使用AJAX调用到服务器。
答案 0 :(得分:1)
是的,您的理解是正确的。 AngularJS是一个选项,还有其他JavaScript框架以类似的方式工作 - Angular似乎是目前最受欢迎的。
对于服务器,您可以使用几乎任何技术,标准是通过RESTful Web服务提供JSON数据。
如果您想在服务器上使用JavaScript,那么使用Express的Node.js很受欢迎(并且易于使用)。如果您想使用Java,您可以使用JBoss或Jetty之类的服务器作为服务器,然后使用Resteasy之类的东西作为RESTful服务来公开您的服务。添加到现有应用程序相当容易。
我建议您从Angular tutorial开始,这将详细介绍其中的许多概念。这是一个很好的起点。
答案 1 :(得分:1)
正如所建议的,您的后端服务器将向客户端发送JSON。然后,客户端可以使用像AngularJS这样的前端框架动态地在页面上呈现HTML。
后端语言是什么并不重要。但是,为了获得最佳性能,有些人建议您在将HTML发送到浏览器之前再添加back-end layer between your server and the browser。他们说这会带来更好的性能和搜索引擎优化。 Node.js可以很好地用作渲染层,因此您可以简化技术堆栈并使用Node.js作为整个后端。
此外,使用某些前端框架比使用其他前端框架更容易实现服务器端呈现。这是React最近趋势的原因之一。使用它实现服务器端渲染更容易。