テンプレートを一度定義して、それらを使用してサーバー側とクライアント側の両方から html をレンダリングできるようにしたいと考えています。(DRYの原則とそのすべて)
私が思い描いている API は単純に次のとおりです: render(JSON, template) --> html.
私はJavaフレームワークを使用しています(実際にはPlayフレームワークですが、これはフレームワーク固有ではないと思います)。
同様の質問をたくさん読んだことがありますが、最新で最も役立つのは、クライアント側とサーバー側の両方のレンダリングのためのテンプレート言語です。
私は、Mustache や Google Closure Templates のような明白な候補がそれをカットするつもりはないという著者にほぼ同意します。(理由についてはその投稿を参照してください)
要件:
- MUST: クライアント側のレンダリング
- MUST: テンプレートファイルのクライアント側キャッシュ
- NICE: クライアント側の「一度コンパイルしたら何度も実行」するテンプレート ファイルから高速な JavaScript コードへ
- MUST: サーバー側のレンダリング
- NICE: ネイティブ Java 実装
サーバー側のテンプレート作成に Node.js を使用することを提案する投稿をたくさん見てきました。これは間違いなく機能しますが (アンダースコア テンプレート、Handlebarsjs、EJS はすべて正常に機能します) Node.js を Java と通信/結合/統合する方法を理解するのに苦労しています。結局のところ、JSON を出力する必要があるのは Java フレームワークです。
JVM と node.js の間で (http 経由または JNDI を使用して) 通信する概念実証について言及している投稿を見てきました。ただし、現時点では、実戦テスト済みのライブラリはもちろん、利用できるライブラリもないようです。
まとめとして、Javaでも実行できる(またはいくつかのフープを使用して、jvmから呼び出すことができる)クライアント側のテンプレートエンジンを提案してください。そして、その「フープ」がたまたま Node.js である場合、コミュニケーション/ライブラリのどの方法を使用することをお勧めしますか?