Javaコンパイラを使用したクライアント側のテンプレート言語(ドライテンプレート)

StackOverflow https://stackoverflow.com/questions/6831718

質問

テンプレートを一度定義し、それらを使用してサーバー側とクライアント側の両方から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バンドルも同じソースから来ています。さらに、ホーガンはテンプレートサーバー側を事前にコンパイルし、クライアントへの接続を開くことができます。最初に接続します。

速いですか?雷...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top