簡體   English   中英

對於Play Framework 1.x,日本的Rythm模板引擎優勢?

[英]Advantages Rythm Template Engine over Japid for Play Framework 1.x?

Rythm是Play的模板引擎! 框架視圖。

它是類型安全的,並提供默認groovy模板的替代方案。

Japid也是Play的類似模板引擎! Rythm和Japid都在解決類似的問題。

節奏

http://www.playframework.org/modules/rythm

http://www.rythmengine.com/

Japid

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的作者

更新

Rythm剛剛發布了一個名為String Interpolation Mode (SIM)的功能,它允許你省略簡單情況的參數聲明,在大多數情況下使它成為String.format一個很好的替代品:

String result = Rythm.render("Hello @who!", "world");

注意SIM以兩種方式擊敗String.format

  1. 性能。 Rythm.renderString.formant快2到3倍
  2. 明確。 “Hello @who”比“Hello%s”更清晰。
  3. 您可以僅按位置將參數傳遞給String.format() ,而Rythm.render支持按位置和按名稱傳遞

我已經實現了靜態胡子庫,以提供基於胡子語法的類型安全模板引擎。

它在編譯時檢查語法錯誤和類型錯誤(如缺失屬性),如Rythm或Japid。

它需要幾乎零構建配置(與需要自定義插件的Rytm和Japod相比),因為它是標准的注釋處理器。

在static-mustache中,所有類型信息都是從用於呈現的普通Java類中提取的。 模板語言仍然是純粹的“無邏輯”胡子。 因此,可以在服務器端和客戶端呈現器之間共享模板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM