Freemarker vs AngularJS

时间:2013-12-14 04:19:07

标签: angularjs rendering freemarker

使用Freemarker和AngularJS的解决方案是否有意义?

我试图说服我的团队中的每个人切换到Angular,而且比我更有经验的开发人员指出他更喜欢服务器端渲染,这既有争议又有效。但后来他告诉我,如果我仍然想使用Angular,只需将它与Freemarker一起使用,而不是替换它。

我是一名初级程序员,据我所知,他们的目的是为了同一目的。

3 个答案:

答案 0 :(得分:3)

这取决于需求。

例如,如果您想将页面分解为可以根据服务器端的某些逻辑绑定的各个可重用组件,那么使用freemarker或velocity来构建这些组件是有意义的。
freemarker或velocity模板可能会使用 angularJS 组件,这些组件将在浏览器上呈现并在客户端进行评估。
服务器端模板将使您能够设计可重用的角度组件。

现在,有些人可能会尝试使用HTML5中的Object组件来做同样的事情,但不推荐这样做,因为使用Object需要一个完全形成的HTML元素,它有自己的<html>开始和结束标记。 /> 不是用于小型可重用组件的东西。

作为一个示例,请考虑将您的页眉和页脚放在自己的html模板文件中,以便为应用程序中的所有页面配合。

答案 1 :(得分:2)

当我为Freemarker谷歌时,我意识到它只是一个模板引擎。 AngularJS不是模板引擎。模板引擎只是这个框架的一部分。所以他们两个都无法比较。

AngularJS是一个用于创建单页面应用程序(SPA)的完整框架。因此,如果您只想在客户端使用模板功能,我建议您最好寻找其他一些轻量级库。

如果你想使用AngularJS,你需要决定

  • 您是否可以将应用程序构建为SPA
  • 网站是否需要进行SEO优化。这对Angular的支持有限,或者在任何客户端框架中都是如此。
  • 准备好使用AngularJS模板引擎,因为它支持单向\双向主动绑定非常棒。如果你不使用模板引擎,你会失去很多。

答案 2 :(得分:1)

没有它显然没有意义,因为它们服务于非常不同的目的。我能想到的只是你误解了更有经验的开发人员,或者他真的没有理解使用这两种技术的商业案例(为什么值得使用)。根据我作为j2ee开发人员的经验,我发现许多服务器端开发人员(经验丰富与否)可能不会对最近在客户端开发中取得的许多新进展进行过多的教育。使用Angular,您不仅限于SPA。您需要深入了解当前项目的整体架构,以确定它是否适合。有各种方法可以解决SEO问题,或者您可以购买SEO解决方案。但如果SEO是必不可少的,那显然不是最佳选择。

除非是团队决策并且Angular已经解决了明确的问题,否则我不会建议单独使用只有您知道的新技术。保持它作为一种爱好,当你真正了解最佳实践和好处时,你可以尝试成为一名传道者。