2016-05-13 6 views
9

私たちは純粋なJSP/JQueryで、ReactJsに保守性のために移動しようとしています。私が見ているReactJsの利点の1つは、サーバー側のレンダリングです。しかし、私がサーバサイドレンダリングで見たすべての例では、Node.jsをサーバ側として利用しています。私たちは現在、Tomcatを使用していますが、サーバ側のレンダリングのためだけにnode.jsを配備する傾向はそれほどありません。React.js Javaによるノード側レンダリング[Node.jsなし]

私は、このような

しかしNashorn(http://winterbe.com/posts/2014/04/05/java8-nashorn-tutorial/)を使用するなど、いくつかの選択肢を検討している、Nashornは、生産準備ができていないようです。

実稼働環境のTomcatにReact.jsをサーバー側でレンダリングした人はいますか?

+1

NashromはJava 8に関連しているため、オラクル社は本番環境であると考えています。 Reactアプリケーションサーバー側をJavaでレンダリングする方法については、http://augustl.com/blog/2014/jdk8_react_rendering_on_server/を参照してください。 –

+1

なぜサーバー上での反応の実行がJSPよりもメンテナンス可能だと思いますか? – stepanian

+1

なぜ、JSPではなくReactを使ってサーバ上でレンダリングしたいのですか? – inigoD

答えて

11

NodeJSを使わずにJavascriptアプリサーバーサイドをレンダリングしようとすると、自分自身を拷問するのに最適な方法です。 JVM内でJavascriptを実行しようとするとさらに悪化します。私はそれに反対することをお勧めします。

PhantomJS(技術的にはノードなしで実行)を使用して、またはxvfbとChrome on * nixを使用しても、完全なクライアントサーバー側をレンダリングすることは可能です。いろいろな程度の苦しいデバッグが行われています。

tomcat自体はまれですが、私は "できます"以外の点は見当たりません。私の最高の推測は、誰も生産でそれをやっていないということです。

+1

ほとんどの場合私は同意しますが、.NETにはreactjのためのサーバー側レンダリングフレームワークがあります。だから私はあなたが必ずしもこれを達成するためにJVMでjavascriptを実行する必要はないと思う。 JSXは本質的にJS + XMLなので、あまり苦労することなくテンプレートをあらかじめレンダリングすることができます。私はそれがJSサーバー側を解釈することによってサーバー側のレンダリングのいくつかのレベルを達成する必要があるとは思わない。 – tsturzl

+5

ReactコンポーネントをJavaからレンダリングすることを誰も公に文書化していないからといって、それが難しいことや拷問という意味ではありません。実際、JavaでJavaScriptを実行することは難しくなく、複雑でも珍しいことでもありません。これは、JavaScriptがサーバー側で普及する以前から、標準のJREの一部となっています。数年前にJavaアプリケーションに埋め込みJavaScriptを使用しました(当時は古いRhinoエンジンを使用していました)。 –

+0

@PierreBuyle私は答えに多義性を使用しています(多分私はそれを編集すべきです)が、私はブラウザアプリケーションをシミュレートするためにそれを使用しようとしたとき、Rhinoの経験はあまり肯定的ではありませんでした。たぶんあなたは私よりも賢く、より幸運ですが、抵抗が最も少ない道ではないということに同意するかもしれません。 – iwein

関連する問題