5

私のチームは、クロス ブラウザー互換性 (IE 8+、Chrome、Safari、Firefox、Opera) およびクロス プラットフォーム互換性 (デスクトップ、タブレット、スマートフォン) の新しいサイトに取り組んでいます。

HTML 5、レスポンシブ デザイン、JS ライブラリの使用など、これを実現するための多くの新しい方法論を検討してきました。これは、ブラウザーの混乱の多くをユーザーから遠ざけますが、ブラウザーや MVVM でさえ、1 つの主要な私が直面している問題は、ブラウザーの変化の速さです。Chrome と Firefox の両方が継続的デリバリーのモデルを使用しているため、テストはますます難しくなっています。他のサイトも同じ問題を抱えているように見えます (特定のブラウザーでサイトが機能するかどうかについて、最近は当たり外れがあるようです)。

  • 新しいブラウザーが出てきたときにテストするために、あなたまたはあなたのチームはどのような提案をしますか?
  • ブラウザの更新時にコードが壊れる可能性を減らすために、開発中にどのようなことを行っていますか?
  • また、ブラウザー バージョンのサポートをいつ、または終了するかをどのように決定しますか?
4

3 に答える 3

2

新しいブラウザーが出てきたときにテストするために、あなたまたはあなたのチームはどのような提案をしますか?

完了の定義の一部として、次のデスクトップ ブラウザーをサポートしています。

  • IE8+
  • Firefox 3.6
  • Firefox (最新)
  • クローム(最新)
  • サファリ6

Firefox/Chrome の最新バージョンのサポートは、どちらも自動更新を提供するため問題ありません。古いバージョンのブラウザーで問題が発生した場合は、私たちの手に負えず、更新する必要があります。

Firefox/Chrome のテストの大部分は私たちのマシンで行うことができますが、異なる OS のフォントの処理方法には明らかに矛盾があり、Windows のバージョンに引き継がれる場合と引き継がれない場合があるネイティブ フォーム要素の癖があります。

OS XI で Firefox のバージョンをテストするには、私が作成した「Install all Firefoxes」スクリプトを使用して、Firefox の複数のバージョンを並べて実行できるようにします。

私たちの開発チームは環境として Ubuntu と Mac OS を使用しているため、IE の各バージョン、Windows の Chrome/Firefox、OS X の Safari 6 用の仮想マシンを備えた専用マシンがあります。

これらの仮想マシンは、modern.ieが提供するイメージを使用してセットアップされました。ワークフローを中断して別のマシンに移動する必要がないように、仮想マシンがオンになっているマシンにリモートでアクセスしています。

ブラウザの更新時にコードが壊れる可能性を減らすために、開発中にどのようなことを行っていますか?

明らかなことは、CSS ハッキングを回避し、記述された HTML/CSS/JavaScript がコード標準と完了の定義を満たしていることを確認することです。

実験的な CSS 機能を使用している場合は、プロパティのベンダー プレフィックスと最後に w3 定義を提供していることを確認します。

-moz-foo: bar;
-ms-foo: bar;
-o-foo: bar;
-webkit-foo: bar;
foo: bar;

明らかに、これにより技術的な負債がいくらか発生しますが、CSS にプリプロセッサを使用している場合、このオーバーヘッドを削減できます。

IE 用に別のスタイルシートを保持し、条件付きコメントを使用してそれをロードします。これにより、他のブラウザーの残りのフロントエンドの整合性に影響を与えることなく IE の問題を修正できます。最近、これを a に移動する動きがあります。これについては、http: //csswizardry.com/2013/04/shame-css/shame.cssで読むことができます。

また、ブラウザー バージョンのサポートをいつ、または終了するかをどのように決定しますか?

グーグルアナリティクス。Google アナリティクスのブラウザ タイプによるセグメント化は非常に便利です。特定のブラウザーの使用率が 10% を下回ったときは、そのブラウザーの新機能の開発を停止するのに適した時期です。

そのブラウザのハックやスタイルをすべて捨てるという過激なこともできますが、よりスムーズな移行 (および人々のアップグレードを促す) のためには、単に古いブラウザ向けの開発をやめて、条件付きでメッセージを表示する方がよいでしょう。 .

最近、IE7 のサポートを終了しました。現在、IE7 を使用している訪問者には、アップグレードするようにというメッセージが表示され、修正や追加機能は利用できません。

モバイルはまったく別の魚のやかんであり、サイトが完全にレスポンシブである場合、それは追加の苦痛です.

さまざまなサイズ/バージョンの Android デバイスが多数あり、古い iPhone が 2 台、iPad がオフィスに散らばっており、モバイル ブラウザーの大部分をテストするために使用しています。

明らかに、画面サイズ、DPI、ブラウザのバージョンなどに違いがあります。この点でできる最善のことは、最も一般的なケースに対応し、問題が表面化したときに修正することです。

于 2013-06-14T10:07:31.240 に答える
0

Web 標準を使用して設計および開発します。Web プラットフォームを検証します。すでにリストされているすべてのライブラリ/ソリューション/その他は驚異的で非常に便利ですが、標準に固執すると、それらのライブラリの必要性がますます少なくなることがわかります...少なくともユーザーエージェントサポートを適切に低下させるために。プログレッシブエンハンスメントのためにそれらをますます使用していることがわかります。

于 2013-06-14T12:29:01.513 に答える