2016-09-15 4 views
1

だから私は&春(Java)のデカップリングされたリアクトフロントエンドのサービス方法は?

は私が反応-ネイティブして反応フロントエンドの両方で呼び出すことができる春のバックエンドのREST Webサービスを作りたいリアクト使用してマルチプラットフォームアプリケーションを作成しています。

私は現在、私のプロジェクトは3つのサブプロジェクトに分かれている

:バックエンド(春)、Webアプリケーション・フロントエンド(Webアプリケーションと反応)、モバイル・フロントエンド(ネイティブリアクト)

私の質問は、私が実際に仕えるべきかでありますウェブアプリケーションのフロントエンドに反応します。私は、ReactコードがAPI呼び出しを行うためにそれを打つことができるように、Webサービスをサーバ上のどこかに持っていますが、React Webアプリケーションを提供するのであれば、同じバックエンドサーバでサービスする方が良いでしょうか、明示的なものを備えた別のフロントエンドサーバー?また、他の選択肢はありますか?

答えて

2

RESTバックエンドと同じサーバーまたはエクスプレスサーバーと反応するWebアプリケーションの両方が有効なオプションです。 Expressを選択する特別な理由がない場合は、春のバックエンドと同じサーバー上で提供することをお勧めします。フロントエンドとバックエンドはまだデカップリングとのみ反応し、Webアプリケーションをホストするバックエンド・サーバーを拡張するように、RESTインターフェースを介して通信されることを

リコールは非常に簡単である必要があり、ここでhelful可能性があります例:React,Spring,Rest example

  • 孤立再起動すると失敗:

    は、しかし、私はそれはあなたが、たとえば、その後、別のサーバーRESTのバックエンドを選ぶ作ることができます参照してカップルの引数があります。 RESTバックエンドに影響を与えずにリアクションフロントエンドだけを再起動できるようにしたい場合は、おそらく別のサーバー上で実行することになります。考慮すべきもう一つのことは、バックエンドが大規模に拡張する必要があり、バックエンドを複数のサーバーに複製する必要がある場合です。フロントエンドがそれ自身の別のサーバー上で実行されている場合は、

  • JavaScript(React)のサーバーサイドレンダリングはexpressのようなnode.jsサーバーから実行できますが、Springサーバーでは可能ではないと思います。

また、他の選択肢があるのですか?

他の選択肢は、/ Springを表現する、はいです。それ以外の代替案は、バックエンドサーバーまたはそれ自身のサーバーの前でホスティングしていますか? いいえ

両方の選択肢に賛否両論があり、あなたのニーズに応じて最適なものがあります。

+0

レンダリングJava serversideを使用したリアクションコンポーネントまたはJavaScriptは、Java 8:https://en.wikipedia.org/wiki/Nashorn_(JavaScript_engine)から利用可能なNashornエンジンを使用して確実に可能です。 –

関連する問題