前端模板引擎:大多数的js模板引擎,如:doT.js(前后端)、dust.js(前后端)、mustache.js(前后端)。----------常规字符串模板引擎
包括一些mvvm前端框架自带的模板输出模块,如:vue.js、Angular.js----------Dom模板引擎
后端模板引擎:java模板引擎、php模板引擎、.net模板引擎、nodejs模板引擎等
前后端模板引擎的区别在于是否在客户端(浏览器)渲染模板,填充数据。
PS:除了mvvm前端框架自带的模板输出模块在浏览器跑之外,前端js模板引擎大多数都是基于nodejs服务器运行的,所以,js模板引擎!= 前端模板引擎(部分模板引擎可以在浏览器跑)。
前端模板引擎
优点:减少服务端压力,提高页面性能,可跨平台(可以兼容不同后端技术),比较灵活改变页面数据(无刷新页面),。
缺点:不利于seo(搜索引擎无法抓取页面的数据,因为只是模板,没有数据内容),担心js被用户禁用,数据安全性低。
后端模板引擎
优点:利于seo(一方面可以页面静态化,另一方面页面的数据已经渲染了),数据安全性高,无须担心js被用户禁用,比较灵活产生多个页面(创建新页面)。
缺点:服务器负载压力大。
总结:如果不考虑seo的话,采取前端模板引擎。如果考虑seo的话,采取后端模板引擎。具体还是看项目需求而定。