内源分析项目开篇:模板引擎选择

作为web前端和后端的桥梁,模板引擎相当于整个系统的胶水。[read more=”点击阅读更多” less=”收起阅读”]对动态网站效率尤为重要。

thymeleaf

thymeleaf


最近不务正业的接触到几个模板引擎语言。每一个都可以作为JSP的代替者。使用过程中发现Velocity最易上手。Thymeleaf引入额外标签,使用xml parser做解释器(好处是前台可以看到数据显示效果,后台直接给出变量命和类型即可)。其它引擎语言使用文本解释。

从当前受欢迎程度看,Thymeleaf 已然成为新晋网红。

大概任务清单是:
1,对一个类似Github的网站数据进行再加工(比如排序和筛选)。该网站开放数据库和API。
2,定时发送邮件(邮件中需要图标数据和表格)到联系人组。
3,对自己定个小目标:架构开放易拓展,代码易读,文档自动生成。

技术路线选择:
1,后台采用springboot微服务架构。(另外选型:openResty,考虑到代码回合放弃)
2,邮件转发中所用Chart图片生成采用nodejs服务器+phantom.js+highchart.(HTML邮件有你想不到的…后续揭露)
3,前台展示直接使用Thymeleaf+chart.js

这篇简单的列出模板引擎选型,后续想到了会加上来。

附当前模板引擎的一些分析数据(部分来自libhunt.com)

  • Thymeleaf
  • Velocity
  • FreeMarker
  • Handlebars.java
 Apache Velocity Thymeleaf Handlebars.java Apache FreeMarker
库地址 看看  看看  看看  看看
标记用户 997 819 176
106 64 18
分支 196 242 69
代码质量 L3 L1 L4 L1
JAVA JAVA JAVA JAVA
受欢迎度  3.0  6.4 6.1 3.4

优缺点

Apache Velocity:
1,容易上手
2, 可以写macro,相当于自己定义处理函数
3,性能一般

Thymeleaf:
1,设计者可以填充标签节点数据,模板解释时替换。
2,没有velocity的macro.但提供用户一种布局方案(layout dialect)给页面布局
3,性能较差,可以给小项目使用。

Handers.java
1,性能一般
2,github提供各引擎的benchmark数据

[/read]

发表评论

电子邮件地址不会被公开。 必填项已用*标注