Я хочу иметь возможность определять шаблоны один раз и использовать их для рендеринга html как со стороны сервера, так и со стороны клиента.(СУХОЙ принцип и все такое)
API, который я представляю, просто так: render (JSON, template) -> html.
Я использую Java-фреймворк (на самом деле играю фреймворк, но я не думаю, что это специфично для фреймворка).
Я прочитал много похожих вопросов, последний и самый полезный из которых: Язык шаблонов как для рендеринга на стороне клиента, так и на стороне сервера .
Я в значительной степени согласен с автором, что такие очевидные соперники, как: усы и шаблоны Google Closure, не собираются его сокращать.(причины см. в этом посте)
Требования:
- ОБЯЗАТЕЛЬНО: клиентское отображение
- ОБЯЗАТЕЛЬНО: клиентское кэширование файлов-шаблонов
- NICE: клиентское «многократно выполненное многократное выполнение» файла шаблона для быстрого javascript-кода
- MUST: рендеринг на стороне сервера
- NICE: нативная реализация java
Я видел множество постов, предлагающих использовать Node.js для шаблонизации на стороне сервера.Хотя это определенно сработало бы (шаблоны подчеркивания, Handlebarsjs, EJS все работало бы просто отлично) Я изо всех сил пытаюсь понять, как связать / объединить / интегрировать Node.js с java, в конце концов это все еще java framework, который должен выводить JSON
Я видел посты, в которых упоминается некое доказательство концепции взаимодействия между JVM и node.js (через http или с использованием JNDI).Тем не менее, ни одна библиотека, не говоря уже о боевых испытаниях, кажется, в настоящее время недоступна.
Итак, чтобы округлить, какой шаблонизатор на стороне клиента вы бы предложили, чтобы он также работал в java (или с некоторыми обручами, можно было вызвать из jvm)?И если этим «обручем» окажется Node.js, какие способы коммуникации / библиотеки вы бы предложили использовать?