Rythm 是 Play 的模板引擎!框架视图。
它是类型安全的,并提供了默认 groovy 模板的替代方案。
Japid 也是一个类似的 Play 模板引擎!Rythm 和 Japid 都在解决类似的问题。
节奏
http://www.playframework.org/modules/rythm
雅皮德
http://www.playframework.org/modules/japid
Rythm 比 Japid 有什么优势?
Rythm 是 Play 的模板引擎!框架视图。
它是类型安全的,并提供了默认 groovy 模板的替代方案。
Japid 也是一个类似的 Play 模板引擎!Rythm 和 Japid 都在解决类似的问题。
节奏
http://www.playframework.org/modules/rythm
雅皮德
http://www.playframework.org/modules/japid
Rythm 比 Japid 有什么优势?
Rythm 语法接近 Play2 模板语法,因此迁移路径会更容易。
基于 Ryhtm 的 Razor 语法是为 C# 模板定义的,并且清晰一致。
另一方面,Japid 比 Rythm 更老,因此可以有更多的功能和更少的错误
Japid 相对于 Rythm 的最大优势是前者有一个 Eclipse 插件,而后者目前没有工具支持。
Rythm 在提供更好的 Play-1.x 集成方面获胜。请参阅集成指南和迁移指南
这里值得一提的另一件事是 Rythm默认转义表达式输出,如 Groovy 引擎,而 Japid 要求您将其显式转义为${escape(expr)}
. 也就是说,Rythm 使用起来更安全,而 Japid 对性能的投票更多。
根据我的理解,两者的功能集应该没有其他大的差异。——格林,《节奏》的作者
更新
Rythm 刚刚发布了一个名为String Interpolation Mode (SIM) 的功能,它允许您在简单的情况下省略参数声明,使其成为String.format
大多数情况下的良好替代品:
String result = Rythm.render("Hello @who!", "world");
注意 SIMString.format
以 2 种方式节拍:
Rythm.render
是 2 到 3 倍比String.formant
String.format()
按位置传递参数,同时Rythm.render
支持按位置和名称传递我已经实现了static-mustache 库,以提供基于 mustache 语法的类型安全模板引擎。
它在编译时检查语法错误和类型错误(如缺少属性),如 Rythm 或 Japid。
它几乎需要零构建配置(与需要自定义插件的 Rytm 和 Japod 相比),因为它是标准注释处理器。
在 static-mustache 中,所有类型信息都是从用于呈现的普通 Java 类中提取的。模板语言仍然是纯粹的“无逻辑”胡子。因此模板可以在服务器端和客户端渲染器之间共享。