2013-04-21 6 views
5

リッチブラウザアプリケーション(JS-heavy)をビルドするときは、バックエンドアプリケーションの一部ではなく別のアプリケーションとして扱うべきだという意見があります。私はこのような設定でビルドと展開がどのように実現したのだろうか?別々のフロントエンドアプリケーション - ビルドと展開の戦略

JSONベースのAPI(JAX-RSなど)を公開するjava WARファイルがあります(ビューはありません)。それから私は私のフロントエンドアプリの静的コンテンツを持っています:jsスクリプトhtmlビュー、CSSスタイル、画像など。そのプロジェクトのためのGruntJSは、縮小/前処理などを行います。

しかし、今私は固執しています。このようなビルドの結果はどうでしょうか?グランツによって作成された静的ファイルのみでWARを区切りますか?展開はどうですか?これらのWARを組み合わせて1つの本格的なアプリにするか、2つの別々のアプリを展開する必要があります。 example.comは静的に機能し、これらの統計情報はapi.example.comを使用してデータを取得します。

もう1つの質問は開発についてです。その結果、私はjsとcssを連結して縮小したいと思っていますが、開発にはあまり適していません(デバッグは難しいなど)。 devモードで別のソースファイルを持ち、prodビルドでのみ連結させるというやり方はありますか?

答えて

0

私は永遠のようにJava WebDevを手に入れていませんので、具体的にお手伝いすることはできません。しかし、そのような抽象化の背後にある考え方は、通常、公開バックエンドAPIを公開することで、任意のホスト上にある任意の言語で書かれた任意のタイプのクライアントでバックエンドに接続できるようになります。 APIとクライアントを開発する場合は、クライアントとAPIを別々に配備する必要がある可能性があります。存在する場合は、別々に構築してください。そうでない場合は、しないでください。個人的には、私はあなたのapi.example.comとexample.comのシナリオに賛成です。

第2のトピックについて: 私はかつてこれを行うためのANTスクリプトを作成しました。あなたのJS "クラス"を別々の "名前空間"ファイルに入れ、それらのファイルを連結して縮小させます。ビルドスクリプトには正しい順序でファイルを入力する必要がありました。これは小規模なプロジェクトで簡単に管理できます。 Idkはこれまでに自動化されたツールがあればそれを使っています。

関連する問題