2011-11-19 3 views
2

私は春を使ってレギュラーでモバイル版のサイトを開発しようとしています。この時点で私はこれにアプローチする方法を決定する必要があります。私は2つのオプションを予期しています:春にレギュラーサイトとモバイルサイトは分かれていますか?

  1. 同じサーバー上の独立したサイト。各サイトのコントローラとビューの独立したセットを開発します。できるだけコントローラを再利用しようとしています。

  2. 混在サイト。デバイスの種類に応じて異なるビューに送信するコンテンツ認識コントローラを開発する。コントローラは、デバイスに応じて異なるビューに送信します。

オプション1は、より実用的なようだが、私は、コントローラの繰り返しの多くで終わるつもり怖いです。また、サイトをモバイル版のベースとしてhttp://something.com/http://something.com/mに分ける必要があります。

オプション2は、正規版の変更がモバイル版に影響するため、すぐに扱いにくくなると思われます。それにもかかわらず、はるかに多くのコードを再利用します。

これにどのようにアプローチしますか?

答えて

3

オプション2は、常に魅力的なようだが、私の経験では、それは非現実的であることが判明しました。常に、些細なサイト以上のものでは、フルバージョンとモバイルバージョンの間でページフローが異なり、異なるデータがレンダリングされます。それはただの肌だけではありません。

私のアドバイスは、共通のビジネスロジックを特定し、それを一般的なコードにすることです。可能な限りコントローラーを薄くしますが、デスクトップおよびモバイル固有のコントローラーを使用することで、コントローラーを集中させることができます。はい、いくつかの重複がありますが、うまくいけば最小化することができます。

Webアプリケーションレベルの/WEB-INF/applicationContext.xml beansファイルで共通ロジックをbeansとして定義します。次に、特定のコントローラを含み、共通のBeanを共有するサイトごとに別々のDispatcherServletを定義します。

+1

2つのサイトに行く方法... – rmarimon

0

プレゼンテーションが異なるビュー、つまり同じモデルと同じビジネスロジックが異なる場合は、各コントローラのアスペクトでクライアントを識別することをお勧めします。

別の基本的な呼び出しを使用する必要がある場合は、別のコントローラを別のURLで使用しますが、同じサーブレットを使用します。

関連する問題