web-dev-qa-db-ja.com

HTMLテンプレートシステムの違い

私はbackbone.jsを見ていて、それがさまざまなテンプレートシステムをサポートしていることに気づきました(具体的には Mustache.jsHaml-js 、および Eco)を参照します ですが、さらに多くのことをサポートできることを理解しています)( Puredust.js など)

なぜこんなにたくさんあるのですか?何が他の人に良いまたは違うのですか?誰もが彼らの個々の長所と短所が何であるかを明らかにすることができますか?

5
gbjbaanb

ここにLinkedINへのリンクがあります Article 彼らは比較を詳述し、結果を提示するとともに、なぜ彼らが何をしたのかを選択した理由(dust.js)を示します。これにより、比較についての公正な考えと、クライアント側のテンプレートソリューションで人々が探す可能性が最も高いもの、およびそれらの領域での長所/短所は何かがわかるはずです。

8
PhD

博士号はすでに比較ポイントに非常によく答えているので、私は焦点を当てるつもりです

なぜこんなにたくさんあるのですか?

いくつかの理由:

  • テンプレートの内容については、考え方が異なります。 「テンプレートにロジックがない」ルールを強制しようとするものもあれば、気にしないものもあります。たとえば、口ひげは非常に厳密であり、アンダースコアを使用すると、テンプレートで任意の種類のJavaScriptを使用できます。
  • それらは、異なるニーズを持つ異なる人々によって作られました。一部の人は、任意の言語で実装可能な非常に一般的なテンプレートシステムを望み、他の人はjavascriptのみを必要とし、そのために最適化されました。
  • HTMLを生成するためにテンプレートのみが必要なものもあり、そのために構文を最適化しました。他のものはそれらにどんなテキストコンテンツも出力することができるようにしました、しかしより不快であると考えられることができる構文で。

それはすべて、デザインの定義に要約されます。「デザインは、矛盾する要件のバランスを取る技術です」。さまざまなテンプレートエンジンを設計した人々は異なる優先順位を持っていたので、彼らは異なる設計を作成しました。