ASP.NET MVC 4 を使用して、デスクトップ ユーザーとモバイル ユーザーの両方を対象とする Web サイトを構築したいと考えています (この議論ではタブレットは脇に置きます)。
利用可能なオプションがいくつかあるようです。フィードバックをお寄せください。
最初のオプションでは、デスクトップ ユーザーとモバイル ユーザーの両方に同じ Web サイトを使用します。各ページ要求はそれぞれのコントローラーに送られ、フォーム ファクターに依存するビューをレンダリングします (Windows Phone、IPhone などのデバイス タイプに依存する場合もあります)。レスポンシブ デザインを使用して、期待されるユーザー エクスペリエンス (ポートレート、ランドスケープ) に合わせて UI が適切に調整されるようにします。このオプションには、次の利点があります (私が見ているように)。
- コントローラーロジックの重複なし
- 維持する単一のサイト
- ユーザーを別のサイトにリダイレクトしない
- 検索クローラーに通知するページの重複はありません
2 番目のオプションは、モバイル用のビューとコントローラー アクション メソッドのみを提供するモバイル用の別のサイトを持つことです。これには、デバイス固有のビュー (表示モードを使用) と向きのレスポンシブ デザインを提供する機能もあります。このオプションには、次の利点があります。
- 利用可能なページに関して、モバイル エクスペリエンスを完全に制御します (アクション リンクを条件付きでレンダリングできることはわかっていますが、このオプションを使用すると、デバイスで機能が許可されていない場合、ページはサイトに存在しません!
- モバイル向けの個別のリリース サイクル。
- しかし、最大の欠点は、コントローラーのロジックがほぼ確実にデスクトップ サイトとモバイル サイト間で重複するという事実であり、将来的には非常に不利になると思われます。
純粋主義者の MVC には、データを取得し、最も適切なページにデータを表示できるようにするビューを提供するコントローラーが必要なように感じます。これはオプション 1 のように感じます。
最終的には、デバイス固有のサイト (http://m.) を用意するか、それともさまざまなデバイスから表示できるサイトを設計するかということになると思います。
考え?