Javaコンパイラを使用したクライアント側のテンプレート言語(ドライテンプレート)
-
27-10-2019 - |
質問
テンプレートを一度定義し、それらを使用してサーバー側とクライアント側の両方からHTMLをレンダリングできるようにしたいと思っています。 (乾燥した原理とそのすべて)
私が想定しているAPIは、単にこれです:render(json、テンプレート) - > html。
私はJava-Frameworkを使用しています(実際にFramworkを再生しますが、これはフレームワーク固有のものではないと思います)。
私は多くの同様の質問を読みました、最新の、そして最も役立つことは次のとおりです。 クライアント側とサーバー側の両方のレンダリングのテンプレート言語.
私は著者に、MoustacheとGoogleの閉鎖テンプレートがそれをカットしないような明白な候補者にほぼ同意します。 (その理由を参照してください)
要件:
- 必須:クライアント側のレンダリング
- 必須:テンプレートファイルのクライアント側のキャッシュ
- NICE:クライアント側の「コンパイルオンエグゼントを何度も実行する」テンプレートファイルの高速JavaScript-Code
- 必須:サーバー側のレンダリング
- ニース:ネイティブJavaの実装
サーバー側のテンプレートにnode.jsを使用することを提案する多くの投稿を見てきました。これは間違いなく機能しますが(テンプレート、ハンドルバルスJS、EJSはすべて正常に機能します)、node.jsをJavaと通信/統合/統合する方法を確認するのに苦労しています。
JVMとnode.jsの間で通信する概念実証に関する投稿を見てきました(HTTPを超えるか、JNDIを使用しています)。ただし、戦闘テストされたライブラリは、現時点では利用できるようです。
それで、物事を締めくくるために、どのクライアント側のテンプレートエンジンがJavaで実行されることを提案しますか(またはいくつかのフープでJVMから呼び出すことができます)。そして、その「フープ」がたまたまnode.jsである場合、どのようなコミュニケーション/ライブラリを使用することをお勧めしますか?
解決
私は今のところ口ひげを求めて、ハンドルバーのJava実装を期待しています。それが存在すると、リファクタリングパスはそれほど急ではないはずです。
編集 - 2012年4月
OK、これを将来の参照のために更新します:
- node.jsにサーバー側のテンプレートをアウトソーシングしています。
- Socketsを使用して実装されたJavaとnode.js間の通信。 (見る: ソケットを使用してnode.jsからJavaにデータを送信します 私がアイデアを得た場所のために)
- 今ではクライアント-LIB(またはノードを使用してクライアント側とサーバー側の両方でJavaScriptで実行されるより良いクライアント-LIBだけが必要なので、もっと自由に選択できます。口ひげに慣れてきたので、私はホーガンパーサー(Twitterの人たち)を選びました(Twitterの人たち) http://twitter.github.com/hogan.js/ )
100%ドライ(クライアント側のミキシンとI18Nバンドルも同じソースから来ています。さらに、ホーガンはテンプレートサーバー側を事前にコンパイルし、クライアントへの接続を開くことができます。最初に接続します。
速いですか?雷...