私はRailsを学んでいて、これらのテンプレートエンジンを見てきました。私はそれらの経験がありません(erbのみ)。
しかし、私は初心者なので、本当に混乱しています。どれを提案しますか、そしてその理由は何ですか?Erb、Haml、またはSlim?どちらかを優先する理由を教えてください。また、他に推奨事項がある場合は、お知らせください。
編集:私はここで勝者を探していません。それら、構文、実行速度などについてのご意見をお聞かせください。
私はRailsを学んでいて、これらのテンプレートエンジンを見てきました。私はそれらの経験がありません(erbのみ)。
しかし、私は初心者なので、本当に混乱しています。どれを提案しますか、そしてその理由は何ですか?Erb、Haml、またはSlim?どちらかを優先する理由を教えてください。また、他に推奨事項がある場合は、お知らせください。
編集:私はここで勝者を探していません。それら、構文、実行速度などについてのご意見をお聞かせください。
hamlよりもスリムを使用することの2つの大きな利点:
Slimは現在hamlより約8倍高速です。
SlimはHTTPストリーミングをサポートしていますが、HAMLはサポートしていません。
Slimの構文はより自然です。a href="foo.html"
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)の間に明確な勝者はいないと思います。
頭のてっぺんからこれが私が思いついたものです
ERB:
長所
短所
HAML
長所
短所
私にとっての質問は、%
すべてのタグの前に置くのか、それとも|
すべての新しいテキストブロックの前に置くのかということです。
スリム:
tag(attr= "value")
| text
Haml:
%tag{attr: "value"}
text
注意すべきもう1つのこと:hamlは新しい行の間に空白を想定し(hamlの空白を削除)、slimはスペースを想定しません(こことここにSlimの空白を追加)
https://github.com/scalp42/hamlerbslim-独立したベンチマークであり、SlimとErbが勝者であり、パフォーマンスの面で優れています(SlimはHTML出力サイズも縮小する傾向があります)。
私の個人的な意見では、SlimとHamlは全体として、メンテナンスの面で時間(==お金)を節約し、Haml/Slimに精通した人々があなたの意見を世話してくれることを提供します。
それらの人々がいない場合、Erbは間違いなく行く方法です。なぜなら、世界で最高の意志にもかかわらず、HTML / Erbで作業できる非常に安価な人々がたくさんいるからですが、Haml/Slimは完全です。神秘。
何よりも、スリムを使用するか、少なくともスリムにさらすようにこれらの人々を訓練し、「それを手に入れる」人の数を維持します。