私はRailsとこれらのテンプレートエンジンを見てきました。私はそれらの経験がありません(erbのみ)。
しかし、私は初心者なので、本当に混乱しています。どちらを提案しますか、そしてその理由は何ですか? Erb、HamlまたはSlim?他よりも1つを好む理由を教えてください。また、他に推奨事項がある場合はお知らせください。
編集:ここで勝者を探していません。それら、構文、実行速度などについての意見を聞きたいだけです。
ERBは、主にプレーンHTMLで動作し、hamlまたはslimのいずれかを知らないWebデザイナーがいる場合に適しています。この方法で、彼はHTMLを記述でき、適切なタグを使用してRubyロジックを埋め込むことができます。
HTMLとRubyロジックの両方で作業する場合、またはデザイナーが何か新しいもの(HAMLなど)を学習する準備ができている場合は、HAMLを選択します。 ERBよりもはるかに読みやすくカウントします。
例(公式の HAMLサイト から取得):
ERBでは、ビューは次のようになります。
<div id="profile">
<div class="left column">
<div id="date"><%= print_date %></div>
<div id="address"><%= current_user.address %></div>
</div>
<div class="right column">
<div id="email"><%= current_user.email %></div>
<div id="bio"><%= current_user.bio %></div>
</div>
</div>
HAMLでは、次のようになります。
#profile
.left.column
#date= print_date
#address= current_user.address
.right.column
#email= current_user.email
#bio= current_user.bio
たくさんのクリーナー!
HAMLとSLIMの違いについては-SLIMを実際に使用したことはありませんが、好みの問題だと思います-両方の構文を見て、どちらがより良く見えるかを決定してください。これら2つの間に明確な勝者があるとは思わない(HAML/SLIM)。
Slim over hamlを使用する2つの大きな利点:
現在、スリムはhamlよりも約8倍高速です。
SlimはHTTPストリーミングをサポートしていますが、HAMLはサポートしていません。
Slimの構文はより自然です:a href="foo.html"
頭のてっぺんからこれが思いついた
[〜#〜] erb [〜#〜]:
長所
短所
[〜#〜] haml [〜#〜]
長所
短所
私の質問は、%
すべてのタグの前または|
すべての新しいテキストブロックの前に?
スリム:
tag(attr= "value")
| text
Haml:
%tag{attr: "value"}
text
注目すべきもう1つの点は、hamlは新しい行の間に空白を想定する( hamlの空白を削除する )、slimは空白を想定しない(スリムに空白を追加する here および ここ )
https://github.com/scalp42/hamlerbslim -独立したベンチマークであり、SlimとErbがパフォーマンスの面で勝者として表示されます(slimはHTML出力サイズも縮小する傾向があります)。
私個人の意見では、スリムとHamlはメンテナンスに関して時間(==お金)を節約し、Haml/Slimに精通した人々があなたの意見を見てくれると思います。
これらの人々がいなければ、Erbが間違いなく進むべき道です。世界で最高の意志があるにもかかわらず、HTML/Erbで作業できる非常に安価な人々がたくさんいますが、Haml/Slimが完全であることがわかるからです。神秘。
何よりも、Slimを使用するようにこれらの人々を訓練するか、少なくともSlimにさらし、「それを得る」人の数を維持してください。