31

ネットには Velocity と FreeMarker の比較があふれているようで、両者はかなり同等のようです。しかし、StringTemplate と FreeMarker の比較はほとんどないようです。

では、StringTemplate と FreeMarker の主な違いは何ですか?

それらの私の使用法は、HTML ページのみを生成することです。2 つのうち、私は FreeMarker がより適切で、より機能的であることを期待していました。

両方を使用したことがある人がコメントする時間があれば素晴らしいと思います-実際の詳細については、ドキュメントを並べて読むことができますが、何かを始めたいと思います.

4

2 に答える 2

39

JSPの「コードインテンプレート」モデルにうんざりした後、jGuruをビルドするようにSTを設計しました。速度と友人(つまり、私が思う他のすべてのエンジン)は、必要以上のパワーを与えてくれます。私は基本的に4つの機能を使用してjGuru.comを構築しました(論文で説明されています)。これ以上の機能は不要であり、モデルをテンプレートに絡ませることができます。1回限りのプロトタイプを作成している場合は、それで問題ありません。どのエンジンでも問題ありません。その場合、メンテナンスを気にしないので、テンプレートのコードは問題ありません。

人々が無視しているように見えるもう1つのことは、グラフィックデザイナーがテンプレートのコードをどのように読み取ることができるかということです。彼らはできません。では、どのようにテンプレートを操作できるのでしょうか。一部の要素の順序を変更しても、モデルが破損する可能性があります。コーダーがhtmlを構築したように見えるサイトが必要な場合を除いて、商用環境で機能するには分離が本当に必要です;)

于 2010-12-05T17:47:23.350 に答える
8

主な違いは、StringTemplateがモデルビューの分離を厳密に強制し、テンプレートにロジックを配置できないことと、FreeMarkerを使用してテンプレートにロジックを完全に配置できることです。これにより、少なくとも最初は使いにくくなりますが、それ以上になります。スケーラブル。たとえば、コードを生成していて、テンプレートにロジックがない場合、各テンプレートでロジックを複製する必要がないため、別の言語用に別のポートを生成するのは面倒ではありません。

モデルとビューの分離の利点を説明するTerenceParrの論文があります

于 2010-12-01T16:28:15.627 に答える