Railsを学習していて、これらのテンプレートエンジンを見てきました。私はそれらの経験はありません(erbのみ)。
しかし、私は初心者なので、本当に混乱しています。あなたはどちらを提案しますか、そしてその理由は?Erb、HamlまたはSlim?どちらかを優先する理由を教えてください。他に推奨事項がある場合は、お知らせください。
編集:私はここで勝者を探していません。それらについてのあなたの意見、その構文、実行速度などを聞きたいだけです。
Railsを学習していて、これらのテンプレートエンジンを見てきました。私はそれらの経験はありません(erbのみ)。
しかし、私は初心者なので、本当に混乱しています。あなたはどちらを提案しますか、そしてその理由は?Erb、HamlまたはSlim?どちらかを優先する理由を教えてください。他に推奨事項がある場合は、お知らせください。
編集:私はここで勝者を探していません。それらについてのあなたの意見、その構文、実行速度などを聞きたいだけです。
回答:
ERBは、プレーンHTMLで作業し、hamlまたはslimを知らないWebデザイナーがいる場合に主に役立ちます。このようにして彼はHTMLを書くことができ、適切なタグを使ってルビのロジックを埋め込むことができます。
HTMLロジックとルビーロジックの両方で作業している場合、またはデザイナーが新しいもの(HAMLなど)を学習する準備ができている場合は、HAMLを使用します。これは、Rubyに非常によく対応しており、ERBよりも文字数を大幅に減らし、さらに読みやすくしています。
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)の間に明確な勝者がいるとは思いません。
a href="foo"
。
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は空白を想定しません(Slimの空白をこことここに追加)
|
、%
すべてのタグのテキストブロックごとに。リテラルテキストのブロックよりもはるかに多くのタグがあります。スリムですが、スリムで私にとって小さな意味のあるメリットは、<>
タグが使用されている未加工のリテラルhtmlの前に明示的ながあること|
です。私は「あなたが明示的にそれをリテラルにする場合を除き、すべてがスリムであることを好む|
あなたはそれをしてHAML作るまで、すべてがリテラルである」上」%
。
attr="value"
)のように見え、HamlはRuby({key: "value"}
ハッシュのように)に見えます。
https://github.com/scalp42/hamlerbslim独立したベンチマークであり、SlimとErbを勝者として示し、パフォーマンスを向上させます(slimはHTML出力サイズも縮小する傾向があります)。
私の個人的な見解では、全体的に見て、SlimとHamlはメンテナンスの点で時間(==お金)を節約し、Haml / Slimに精通した人々があなたの意見を守っていれば、です。
それらの人々がいない場合、Erbは間違いなく進むべき道です。世界で最高の意志にもかかわらず、HTML / Erbで作業できる非常に安価な人々がたくさんいますが、完全なHaml / Slimを見つけるからです。神秘。
すべてのケースで最も良いのは、Slimを使用するか、少なくともSlimを公開するようにこれらの人々を訓練し、「取得」した人の数を維持することです。