前端模板引擎:大多數的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的話,采取后端模板引擎。具體還是看項目需求而定。