Ich lerne Rails und habe diese Template-Engines gesehen. Ich habe keine Erfahrung mit ihnen (nur erb).
Aber da ich ein Anfänger bin, bin ich wirklich verwirrt. Welches schlagen Sie vor und warum? Erb, Haml oder Slim? Bitte geben Sie Ihren Grund an, warum Sie einen den anderen vorziehen. Wenn Sie weitere Empfehlungen haben, teilen Sie uns dies bitte mit.
EDIT: Ich suche hier keinen Gewinner. Ich möchte nur Ihre Meinungen über sie, ihre Syntax, Ausführungsgeschwindigkeit usw. hören.
ruby-on-rails
haml
erb
slim-lang
Omid Kamangar
quelle
quelle
Antworten:
ERB ist vor allem dann gut, wenn Sie einen Webdesigner haben, der mit einfachem HTML arbeitet und weder haml noch slim kennt. Auf diese Weise kann er HTML schreiben und Sie können Ruby-Logik mit den richtigen Tags einbetten.
Wenn Sie sowohl an HTML- als auch an Ruby-Logik arbeiten oder Ihr Designer bereit ist, etwas Neues zu lernen (wie HAML), würde ich mich für HAML entscheiden. Es ist viel rubinfreundlicher, reduziert die Anzahl der Zeichen um ein Vielfaches und ist viel besser lesbar als ERB.
Zum Beispiel (entnommen von der offiziellen HAML-Site ):
In ERB sieht Ihre Ansicht folgendermaßen aus:
In HAML sieht es folgendermaßen aus:
Viel sauberer!
Was den Unterschied zwischen HAML und SLIM betrifft - ich habe nie wirklich mit SLIM gearbeitet, aber ich denke, es ist Geschmackssache - schauen Sie sich beide Syntaxen an und entscheiden Sie, welche in Ihren Augen besser aussieht. Ich glaube nicht, dass es einen eindeutigen Gewinner zwischen diesen beiden gibt (HAML / SLIM).
quelle
a href="foo"
.Zwei große Vorteile der Verwendung von Slim gegenüber Haml:
Slim ist derzeit etwa achtmal schneller als Haml.
Slim unterstützt HTTP-Streaming, HAML nicht.
Slim hat eine natürlichere Syntax:
a href="foo.html"
quelle
Auf den ersten Blick habe ich mir das ausgedacht
ERB :
Vorteile
Nachteile
HAML
Vorteile
Nachteile
quelle
Die Frage für mich lautet: Würden Sie lieber
%
vor jedem Tag oder|
vor jedem neuen Textblock stehen?Schlank:
Haml:
Eine weitere Sache, auf die Sie achten sollten: haml nimmt einen Leerraum zwischen neuen Zeilen an ( Leerzeichen in haml entfernen ), während slim keinen Platz einnimmt (Leerzeichen in Slim hier und hier hinzufügen )
quelle
|
für jeden Textblock vorbei%
für jedes Tag. Es gibt weit mehr Tags als wörtliche Textblöcke. Ein kleiner, aber semantischer Gewinn für mich mit slim ist, dass jedem rohen Literal-HTML mit verwendeten<>
Tags ein explizites vorangestellt wird|
. Ich bevorzuge "alles ist schlank, es sei denn, Sie machen es explizit wörtlich mit|
" über "alles ist wörtlich, bis Sie es mit einem%
.attr="value"
) aus, während Haml eher wie Ruby ({key: "value"}
wie Hash) aussieht .https://github.com/scalp42/hamlerbslim - ist ein unabhängiger Benchmark, bei dem Slim und Erb in Bezug auf die Leistung als Gewinner angezeigt werden (Slim reduziert tendenziell auch die HTML-Ausgabegröße.)
Meine persönliche Meinung ist, dass Slim und Haml Ihnen insgesamt Zeit (== Geld) bei der Wartung sparen, vorausgesetzt, Sie haben Haml / Slim-versierte Leute, die sich um Ihre Ansichten kümmern.
Wenn Sie diese Leute nicht haben, ist Erb definitiv der richtige Weg, denn trotz des besten Willens der Welt gibt es viele sehr preiswerte Leute, die mit HTML / Erb arbeiten können, aber Haml / Slim als vollständig empfinden Geheimnis.
Am besten trainieren Sie diese Leute, um Slim zu verwenden, oder setzen Sie sie zumindest damit aus, und behalten Sie die Anzahl derer bei, die es "bekommen".
quelle