3

ASP.NET MVC 4 を使用して、デスクトップ ユーザーとモバイル ユーザーの両方を対象とする Web サイトを構築したいと考えています (この議論ではタブレットは脇に置きます)。

利用可能なオプションがいくつかあるようです。フィードバックをお寄せください。

最初のオプションでは、デスクトップ ユーザーとモバイル ユーザーの両方に同じ Web サイトを使用します。各ページ要求はそれぞれのコントローラーに送られ、フォーム ファクターに依存するビューをレンダリングします (Windows Phone、IPhone などのデバイス タイプに依存する場合もあります)。レスポンシブ デザインを使用して、期待されるユーザー エクスペリエンス (ポートレート、ランドスケープ) に合わせて UI が適切に調整されるようにします。このオプションには、次の利点があります (私が見ているように)。

  • コントローラーロジックの重複なし
  • 維持する単一のサイト
  • ユーザーを別のサイトにリダイレクトしない
  • 検索クローラーに通知するページの重複はありません

2 番目のオプションは、モバイル用のビューとコントローラー アクション メソッドのみを提供するモバイル用の別のサイトを持つことです。これには、デバイス固有のビュー (表示モードを使用) と向きのレスポンシブ デザインを提供する機能もあります。このオプションには、次の利点があります。

  • 利用可能なページに関して、モバイル エクスペリエンスを完全に制御します (アクション リンクを条件付きでレンダリングできることはわかっていますが、このオプションを使用すると、デバイスで機能が許可されていない場合、ページはサイトに存在しません!
  • モバイル向けの個別のリリース サイクル。
  • しかし、最大の欠点は、コントローラーのロジックがほぼ確実にデスクトップ サイトとモバイル サイト間で重複するという事実であり、将来的には非常に不利になると思われます。

純粋主義者の MVC には、データを取得し、最も適切なページにデータを表示できるようにするビューを提供するコントローラーが必要なように感じます。これはオプション 1 のように感じます。

最終的には、デバイス固有のサイト (http://m.) を用意するか、それともさまざまなデバイスから表示できるサイトを設計するかということになると思います。

考え?

4

1 に答える 1

2

正直なところ、私は両方の方法が行われたのを見てきましたが、最初に説明した方法が実際に最善の方法です。ただし、モバイル エクスペリエンスを可能な限り最高のものにするように注意してください。多くの企業がモバイルを完成させることに注力しておらず (私の経験も含めて)、顧客を失う可能性があることを私は知っています。ただし、コントローラ ロジックの重複は恐ろしいものです。説明されていませんが、1つのコントローラーセットを持ち、そのコントローラーセットにAPIのように動作するコードのセットを呼び出すさらに良い方法があります。オプション2に移動する必要がある場合は、コードを複製していません。移動することで生活が楽になります。とにかく、さらに質問がある場合は、喜んでチャットします。私はプロのモバイル開発者であり、iPhone Android、WP7、

于 2012-10-20T19:22:58.753 に答える