Клиентский язык шаблонов с компилятором java как ну (СУХИЕ шаблоны)

Я хочу иметь возможность один раз определять шаблоны и использовать их для рендеринга HTML как на стороне сервера, так и на стороне клиента. -сторона. (Принцип DRY и все такое)

API, который я представляю, просто следующий: render (JSON, template) -> html.

Я использую java-фреймворк (на самом деле фреймворк Play, но я не думаю, что он специфичен для фреймворка).

Я читал много похожих вопросов, последний и самый полезный из них: Язык шаблонов для рендеринга как на стороне клиента, так и на стороне сервера .

Я почти полностью согласен с автором в том, что очевидные соперники, такие как: Mustache и Google Closure Templates, никуда не годятся. (причины см. в этом сообщении)

Требования:

  • ДОЛЖЕН: рендеринг на стороне клиента
  • ДОЛЖЕН: кэширование файлов шаблонов на стороне клиента
  • ВНИМАНИЕ: на стороне клиента «компилировать-один раз выполнить много раз» файла шаблона для быстрого кода javascript
  • ОБЯЗАТЕЛЬНО: рендеринг на стороне сервера
  • NICE: собственная реализация java

Я видел множество сообщений, предлагающих использовать Node.js для создания шаблонов на стороне сервера. Хотя это определенно сработает (шаблоны подчеркивания, Handlebarsjs, EJS будут работать нормально), я изо всех сил пытаюсь понять, как общаться / комбинировать / интегрировать Node.js с java, в конце концов, это все еще структура java, которая должна выводить JSON

Я видел сообщения, в которых упоминается некоторая проверка концепции связи между JVM и node.js (через http или с использованием JNDI). Однако, похоже, что на данный момент нет библиотеки, не говоря уже о проверенной в боях.

Итак, чтобы подвести итоги, какой клиентский шаблонизатор вы бы посоветовали, чтобы он работал и на java (или с некоторыми обручами, может вызываться из jvm)? И если этот «обруч» окажется Node.js, какие способы связи / библиотеки вы бы предложили использовать?

10
задан Community 23 May 2017 в 10:34
поделиться