Які двигуни шаблонів Javascript ви рекомендуєте? [зачинено]


78

Я хотів би знати вашу думку щодо механізму шаблонів javascript, який із них, на вашу думку, кращий з точки зору продуктивності?

Я знайшов кілька посилань, де люди проводять порівняльний аналіз:

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/



github.com/foo123/Contemplate , легкий, швидкий, гнучкий та ізосмосферний механізм шаблонів (включені тести jsperf та приклади тестів) (ps: я автор)
Нікос М.

Відповіді:


109

Вибір шаблону двигуна! - Інструмент, який допоможе вибрати правильний механізм шаблонів для проекту.


6
Це працює так приємно (сарказм). Відповідь на 3 перші запитання: Клієнт або сервер: Клієнт Скільки логіки: просто основи Чи потрібно це бути одним із найшвидших: так Не дає результатів.
Сальвадор Далі

2
@SalvadorDali - "найшвидші" всі компілюються прямо в JS, тому ваша інша вимога, щоб у ньому були конфлікти "лише основ", оскільки вони нічим не обмежують.
Марк Кан

1
@SalvadorDali, інструмент, який допоможе вам вибирати речі, не змусить ці речі робити те, що ви хочете.
Буде

Тільки зазначивши, цей сайт більше не підтримується: github.com/garann/template-chooser
Кріс

Мій улюблений - Slim ( slim-lang.com ). Особливо приємно для любителів рубіну.
Олексій Назарський,

24

Що стосується продуктивності, я виявив, що це не сам механізм створення шаблонів, а більше, якщо існує можливість попередньої компіляції шаблонів. Хорошою практикою є об’єднання та мініфікація всіх ваших вихідних файлів JavaScript в один файл для режиму виробництва, так що це, в основному, той самий крок для попередньої компіляції шаблонів.

Я використовував шаблон jQuery та Mustache для шаблонування на стороні клієнта, але моїм улюбленим все-таки є EJS, який завжди виконувався набагато швидше, ніж будь-що інше, що я намагався до цього часу, особливо у виробничому режимі (компілюється до конкатенації рідних рядків, коли це можливо, і потребує лише одного DOM доступ для фактичної вставки відображеного подання). Він є частиною фреймворку JavaScriptMVC і, використовуючи його разом із StealJS як менеджером залежностей, він уже робить для вас усі шаблони, що складаються у робочу версію ( View Engine також підтримує шаблон Micro, Mustache та jQuery).


В даний час я працюю з backbone.js, і він вже має підкреслення шаблону, не знаю, чи варто мені переходити до інших механізмів шаблонування. Але те, що я бачу у всіх цих порівняльних вусах, здається, є переможцем?
kaha

Я знайшов Вуса досить повільними. Чи є у вас фактичні проблеми з продуктивністю вашого движка шаблонів?
Дафф

насправді, єдине питання, яке б у мене виникло, це те, як я можу скомпілювати шаблони?
kaha

Залежить від мови шаблону, яку ви вирішили використовувати. В основному вам потрібно буде виконати сценарій компілятора перед мініфікацією під час процесу збірки. Наприклад , що - щось на зразок цього для JQuery шаблону github.com/wookiehangover/jquery-tmpl-jst
Дафф

3
EJS - найкращий, без сумніву. Це просто вам заважає, і давайте кодувати JavaScript, давайте завантажуватимемо його віддалено надзвичайно чисто, і замінимо '<' на це '[', щоб працювати з кодуванням на стороні сервера. Все інше для мене схоже на того, як якийсь убер-ботанік намагається зробити це обрізаним за допомогою якогось симпатичного абстракційного сміття.
Джейсон Себрінг,

11

Може бути PURE - це дозволяє перетворити JSON в HTML за допомогою шаблонів, створених із існуючого HTML, а не з окремого шаблону зі спеціальним синтаксисом.

З сайту PURE:

Простий і надшвидкий інструмент для створення шаблонів для створення HTML з даних JSON

Представлення (HTML) та логіка (JS) залишаються повністю розділеними

Працює окремо або з dojo, DomAssistant, Ext JS, jQuery, Mootools, Prototype, Sizzle та Sly

Найкращий спосіб зрозуміти - побачити, що насправді робить ця бібліотека : (з офіційного демо) демонстрація чистого шаблону двигуна

Всі демонстраційні програми тут


1
Документація не така точна, і сховище Github не має відстежувача проблем, щоб повідомляти про помилки.
smonff


4

Виберіть мову шаблону, яка має api та синтаксис, які вам здаються найбільш привабливими. Якщо ви зіткнетеся з проблемами продуктивності, тоді ви можете розглянути альтернативи.

Якщо ви не будуєте таблиці з тисячами рядків, ви, мабуть, не помітите різниці.

Особисто я використовую шаблони закриття Google . Я вибрав його головним чином тому, що він також має реалізацію Java. Я ніколи не робив тестів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.