视图引擎和模板引擎是一回事吗?

Are view engines and template engines the same thing?

我很好奇两者之间有什么区别,如果有的话。

例如,.net Razor 是一个视图 engine/technology 还是一个模板系统? JSF 的 Facelets 是视图引擎还是模板系统?

按照如何从 .cshtml 文件生成典型 html 页面的顺序。

  1. 您创建了一个 Razor 页面(两者都是 html/c#)
  2. 您请求一个页面(例如视图)
  3. Razor 视图引擎会创建一个临时 .cs 文件以生成具有最终输出的 .html 页面
  4. 返回生成的html

因此这意味着 .net Razor 是 2 个组件,一个模板系统,也是一个视图生成引擎。

我对 JSF Facelets 了解不多,但从它的 jsf facelet wikipedia 页面来看,它确实是一种模板技术。