Welche Javascript Template Engines empfehlen Sie? [geschlossen]

78

Ich würde gerne Ihre Meinung zur Javascript Template Engine erfahren. Welche ist Ihrer Meinung nach leistungsfähiger?

Ich habe einige Links gefunden, über die Leute Benchmarking durchführen:

http://jsperf.com/jquery-template-table-performance/15

http://jsperf.com/jquery-template-table-performance/8

http://www.viget.com/extend/benchmarking-javascript-templating-libraries/

kaha
quelle
github.com/foo123/Contemplate , leichte, schnelle, flexible und isomosprhische Template-Engine (jsperf-Tests und Beispieltests enthalten) (ps: ich bin der Autor)
Nikos M.

Antworten:

109

Template-Engine-Chooser! - Tool zur Auswahl der richtigen Vorlagen-Engine für ein Projekt.

CD..
quelle
6
Es funktioniert so schön (Sarkasmus). Beantwortung von 3 ersten Fragen: Client oder Server: Client Wie viel Logik: nur Grundlagen Muss es eine der schnellsten sein: Ja Ergibt keine Ergebnisse.
Salvador Dali
2
@SalvadorDali - Die "schnellsten" alle kompilieren direkt zu JS, also Ihre andere Anforderung, dass es "nur die Grundlagen" -Konflikte gibt, da sie nichts einschränken.
Mark Kahn
1
@SalvadorDali, ein Tool, das Ihnen bei der Auswahl von Dingen hilft, lässt diese Dinge nicht das tun, was Sie wollen.
Will
Nur zu beachten, diese Seite wird nicht mehr unterstützt: github.com/garann/template-chooser
Chris
Mein Favorit ist Slim ( slim-lang.com ). Besonders schön für Ruby-Fans.
Alex Nazarsky
24

In Bezug auf die Leistung habe ich festgestellt, dass es nicht die Template-Engine selbst ist, sondern mehr, wenn die Möglichkeit besteht, die Templates vorkompilieren zu können. Es wird empfohlen, alle Ihre JavaScript-Quelldateien für den Produktionsmodus in einer Datei zu verketten und zu minimieren. Daher ist es im Grunde der gleiche Schritt, auch die Vorlagen vorkompilieren.

Ich habe jQuery-Vorlage und Moustache für clientseitige Vorlagen verwendet, aber mein Favorit ist immer noch EJS, das immer viel schneller als alles andere, was ich bisher versucht habe, insbesondere im Produktionsmodus (kompiliert nach Möglichkeit zur nativen Zeichenfolgenverkettung und benötigt nur ein DOM) Zugriff, um die gerenderte Ansicht tatsächlich einzufügen). Es ist Teil des JavaScriptMVC- Frameworks und bei Verwendung mit StealJS als Abhängigkeitsmanager werden alle Vorlagen bereits für Sie in die Produktion kompiliert (die View Engine unterstützt auch Micro-, Moustache- und jQuery-Vorlagen).

Daff
quelle
Ich baue gerade mit backbone.js und es hat bereits Unterstrich-Vorlagen. Ich weiß nicht, ob ich zu anderen Vorlagen-Engines wechseln soll. Aber was ich in all dem Benchmarking-Schnurrbart sehen kann, scheint der Gewinner zu sein?
Kaha
Ich fand Moustache ziemlich langsam. Haben Sie tatsächliche Leistungsprobleme mit Ihrem Template-Motor?
Daff
Nicht wirklich, die einzige Frage, die ich hätte, ist, wie ich die Vorlagen vorkompilieren kann.
Kaha
Hängt von der Vorlagensprache ab, für die Sie sich entschieden haben. Grundsätzlich müssten Sie vor dem Minimieren während des Erstellungsprozesses ein Compilerskript ausführen. ZB so etwas für die jQuery-Vorlage github.com/wookiehangover/jquery-tmpl-jst
Daff
3
EJS ist ohne Zweifel das Beste. Es geht Ihnen einfach aus dem Weg und Sie können JavaScript codieren, es auf super saubere Weise aus der Ferne laden und '<' durch dieses '[' ersetzen, um mit Ihrer serverseitigen Codierung zu arbeiten. Alles andere ist für mich wie ein übergroßer Nerd, der versucht, es mit hübschem Syntaxabstraktionsmüll süß zu machen.
Jason Sebring
11

Sein kann PUR - es ermöglicht , mit JSON in HTML zu umwandeln Vorlagen aus Ihrem existierte html, nicht aus separater Vorlage mit spezieller Syntax.

Von der PURE-Website:

Einfaches und ultraschnelles Template-Tool zum Generieren von HTML aus JSON-Daten

Die Darstellung (HTML) und die Logik (JS) bleiben vollständig getrennt

Funktioniert eigenständig oder mit Dojo, DomAssistant, Ext JS, jQuery, Mootools, Prototype, Sizzle und Sly

Der beste Weg zu verstehen ist zu sehen, was diese Bibliothek tatsächlich tut : (aus der offiziellen Demo) Demonstration einer reinen Template-Engine

Alle Demos sind hier

Vladimir Starkov
quelle
1
Die Dokumentation ist nicht so genau und das Github-Repository hat keinen Problem-Tracker, um Fehler zu melden.
Smonff
4

Wählen Sie die Vorlagensprache mit einer API und Syntax, die Sie am attraktivsten finden. Wenn Sie auf Leistungsprobleme stoßen, können Sie nach Alternativen suchen.

Wenn Sie keine Tabellen mit Tausenden von Zeilen erstellen, werden Sie wahrscheinlich keinen Unterschied bemerken.

Ich persönlich verwende Google Closure Templates . Ich habe es hauptsächlich gewählt, weil es auch eine Java-Implementierung hat. Ich habe noch nie Benchmarks gemacht.

mikerobi
quelle