4

私はZurbFoundationの大ファンです。彼らは、最初にモバイルになるように再設計されたZurbFoundation4をリリースしたばかりです。私は、モバイル、タブレット、および従来のデスクトップエクスペリエンスの両方を考慮したレスポンシブデザインにかなり慣れていません。私は、これらのさまざまなデバイス用にサイトのコンテンツを管理するための最善の方法に頭を悩ませようとしています。Zurb Foundation 4を使用すると、デバイスの小、中、大のサイズに基づいてコンテンツを表示または非表示にすることができます。したがって、Zurbのアプローチでは、すべてのコンテンツをデバイスにドロップし、CSSにデバイスに応じて表示するコンテンツを決定させるようです(これはレスポンシブデザインです)。

私の質問は、なぜすべてのコンテンツをデバイスにドロップする必要があるのか​​ということです。これは、サーバーでの処理の無駄、帯域幅の無駄、ブラウザがコンテンツを処理する際のエクスペリエンスの低下のように思われます。コンテンツの一部は、使用しているデバイスが原因でユーザーに表示されない場合があります。私は何かが足りないのですか?サーバーに戻って、デバイスの種類に適したコンテンツをクライアントに送信させる方がよいのではないでしょうか。モバイルユーザーのデータプランを気にせず、デバイスの種類に適さないコンテンツを送信しないようにする必要がありますか?レスポンシブデザインで見たすべての例には、デスクトップとモバイル/タブレットのコンテンツがクライアントにダウンロードされていますが、これは無駄のようです。

デバイスの種類に応じてユーザーエクスペリエンスが異なるタイムエントリアプリケーションを開発しています。デスクトップ(フルスクリーンの場合)はより詳細なデータ入力エクスペリエンスを提供しますが、モバイル/タブレットはデバイスのスペースが小さいために異なるエクスペリエンスを提供します。私はアプリを開発しているので、デスクトップブラウザのサイズが768ピクセル幅よりも小さい場合、jQueryはサーバーを呼び出して、UIを「小さい」モバイル/タブレットバージョンに交換します。これは適切ですか?私は確かにアプリの2つのバージョンをダウンロードして、デバイスの幅に応じてどちらか一方を非表示にしたくありません。

私はjQueryアプローチで正しい方向に進んでいますか?レスポンシブデザインに関する何かが欠けていて、コンテンツをデバイスに合わせて調整する必要がありますか?任意のアイデア、提案、およびガイダンスをいただければ幸いです。ありがとう。

4

2 に答える 2

5

Mobile First with Zurb Foundationは、基本的にZurbチームによる哲学の変更であり、レスポンシブサイトを開発し、Mobile Firstのアプローチを採用したくない場合は、まだ利用可能で素晴らしいFoundation3を使用することをお勧めします。私が読んでいる本の中には、Zurbの顧問としてもリストされているLukeWroblewskiによるMobileFirstと呼ばれる、MobileFirstに大きな売り込みを与える本があります。

これは興味深いかもしれない同じ著者による記事です:

http://www.netmagazine.com/interviews/luke-wroblewski-mobile-first

基本的に:前提は、モバイル向けの開発と設計を開始することです。つまり、基本的にiOSまたはAndroidスタイルのブラウザーを使用してから、機能を追加します。

そのため、デスクトップ/タブレットエクスペリエンスから始めて、Foundation 3の.hideクラスで一般的に行われていたものを削除する代わりに、Foundation 4でもこの方法で実装できるため、.showクラスを使用してコンテンツを追加することをお勧めします。

これは、CompassとSassMixinsを使用することでさらに進めることができます。これを行う方法に関する優れたドキュメントは多くありませんが、基本的にマークアップのセマンティックを維持し、クラスではなくIDを適用し、ミックスインを使用してそのIDに適用できます。IDとクラスのdomを高速で移動することには利点があるため、これは良い方法です。

注:Foundation 4は、Zeptoと呼ばれるjQueryの代わりにドロップインを使用しています(いくつかの制限があります)。Foundation 4で本当に必要な場合は、ZeptoをjQueryに置き換えるか、代わりにFoundation3を使用できます。Zeptoははるかに軽量であるため、モバイルに最適です。

jQueryを使用して、ブラウザーのサイズに基づいてデータ(私が想定している)を非同期ロードすることで高速化することに関しては、それが1つの方法です。ここで速度が大幅に向上するかどうかはわかりません。多くの戦略、ページネーション、非同期でより多くのデータをオンザフライでロードすることがあり、それはそのデータの周りにUX/UIをどのように配置するかによって異なります。

キャッシュリソースやCDNなど、フロントエンドエンジニアリングで一般的な他の多くの問題もあり、ロード時間が短縮される可能性があります。これに関連してチェックアウトできるリソースの1つは、ySlowです。

オフキャンバススライド、3行(ハンバーガーメニュー)、スクロールでより多くのデータを読み込む、ステートレスアプリなど、多くのデザインパターンもあり、モバイルアプリで同じ機能を使用できます。ステートレスにすると、最初のページの読み込み後、他のページはほぼ瞬時に表示されます。

ここでの質問はより哲学的だと思います。すべての機能が必要ですか。これは、モバイルファーストのアプローチを採用することでアプローチしようとしていると私が信じていることの1つです。

考慮すべきもう1つのことは、知覚される読み込み時間です。これについて読んだのはSeductiveUX(もう1つの優れた読み物)だと思いますが、ローダーまたはスピナーを使用してページをすばやく立ち上げることができるほど、実際には読み込みが遅くなる可能性がある場合でも、読み込みが速く認識されます。

最後に、Foundationの使用を計画している場合は、Foundationが使用しているのと同じメディアクエリからプルするために、ModernizrでjQuery/Zeptoを使用することを検討してください。そうすれば、他の応答性と矛盾するものを複製したり作成したりすることはありません。

于 2013-03-04T00:12:44.517 に答える
3

私はアプリを開発しているので、デスクトップブラウザのサイズが768ピクセル幅よりも小さい場合、jQueryはサーバーを呼び出して、UIを「小さい」モバイル/タブレットバージョンに交換します。これは適切ですか?

良いアプローチとは思えませんが、orientationChangeを考慮に入れていますか?

私は確かにアプリの2つのバージョンをダウンロードして、デバイスの幅に応じてどちらか一方を非表示にしたくありません。

ほとんどのタブレットで縦向きでウェブサイトにアクセスし、横向きに変更する場合は、768px未満のUIをダウンロードした後、768pxを超えるUIをダウンロードする必要があります。

zb4のモバイルファーストアプローチ(メディアクエリを使用)を使用すると、大きなデバイスに属するものが小さなデバイスにダウンロードされるのを防ぐことができます。基本的に、モバイルスタイルから始めて、デバイスがメディアクエリで設定した条件を満たしている場合(zf4フレームワークがデフォルトで提供するよりもはるかに多くのブレークポイントを持つことができます)、次のルールがジャンプします。

私は、ウィンドウサイズを測定するためにjavascriptを使用していたメディアクエリの前の時代にさえ、いくつかの「レスポンシブ」プロジェクトで働いてきました。

javascriptに関して、@ powjames3のように、zeptoはjqueryよりもはるかに軽量/高速であり、独自のjavacript関数を記述できれば、肥大化したライブラリを使用するよりもはるかに優れていると述べています。

今日、私はmobileFirstレスポンシブWebアプリを使用しており、ユーザーエージェントテストの決定にもかかわらず、ユーザーエージェントスニッフィング(配信する画像srcまたはスクリプト/スタイルsrcを決定する場合があります)を組み合わせて使用​​しています。 。

「イーサン・マルコテ(そして彼の前のジョン・オールソップ)が正しく指摘したように、ウェブの固有の柔軟性は機能であり、バグではありません。」

これがあなたを正しい軌道に乗せるかもしれないいくつかのリソースです:

ユーザーエージェントの解析と検出:http://mobiledetect.net/

以下をカバーするチュートリアルhttp://www.html5rocks.com/en/mobile/sensitivedesign/

  • モバイルファースト、レスポンシブ、アダプ​​ティブエクスペリエンスを作成する必要がある理由
  • パフォーマンスを最適化し、柔軟性を優先するために、アダプティブサイトのHTMLを構造化する方法
  • 最初に共有スタイルを定義し、メディアクエリを使用して大画面のスタイルを構築し、相対単位を使用するCSSの記述方法
  • 控えめなJavascriptを記述して、コンテンツフラグメントを条件付きでロードし、タッチイベントとジオロケーションを活用する方法
  • アダプティブエクスペリエンスをさらに強化するためにできること

それが役に立てば幸い

于 2013-03-07T04:11:34.143 に答える