人気のあるHTML5 / CSS3機能検出JavaScriptライブラリModernizrがバージョン2.6に到達しました。ライブラリは、機能を検出し、結果を使用してJavaScriptオブジェクトを構築し、CSSをキー入力するためのクラスをHTML要素に追加することで機能します。急速に更新されるブラウザの時代において、Modernizrは、より完全な互換性を備えたより良いWebエクスペリエンスを保証するために、多くの最先端の設計者によって不可欠なツールキットアイテムと見なされています。
リード開発者のPaulIrish(PI)は、Modernizrの最新バージョンについて、プロジェクトがますます関与するようになっているWebの主要プレーヤーの目に留まった方法について.netに話しました。
.net:この更新の原動力は何ですか?傑出した新機能は何ですか?
PI:40程度で立ち上げられたプロジェクトとしてのModernizrは、コアHTML5 / CSS3タイプのものを検出します。しかし、すべての検出の焦点であることが非常に理にかなっていることをすぐに認識しました。そのため、このリリースでは、コア開発チームとその周辺のコミュニティとのコラボレーションで、多くの新しい検出を追加しました。 2.6は、CSSフィルター、CSS領域、スコープスタイルなど、モバイルブラウザーを含むブラウザー間でより確実に機能する検出をさらに追加します。新鮮で新しいCSSのものです。非常に新しい機能に対して開発している場合は、信頼性の高い検出機能を備えています。
また、ジオロケーションなど、既存の検出に変更を加えました。 「!! navigator.geolocation」を使用できましたが、IEでメモリリークが発生し、WebKitでのページキャッシュが妨げられていることがわかりました。これらの問題はアップストリームで報告され、修正されていますが、まだ古いブラウザを処理する必要があるため、ジオロケーションの検索方法を少し変更する必要がありました。
.net:Modernizrがより重要になっていると思いますか?今、ブラウザは急速に新しい機能を追加していますか?
PI:問題は本質的に、仕様が機能を検出する方法で嘘をついていないことです。すべてのブラウザーは機能検出が最善の方法であることに同意していますが、検出方法に同意していません。それはテストされたものではないので、彼らが滑るのはかなり簡単です。また、すべての人が独自の検出を作成すると、機能の検出が悪くなる可能性があるため、Modernizrは、コミュニティがこれらすべてに最適な方法を特定するための優れた焦点です。
.net:新しいリリースノートはAdobeからのサポートを示していますが、主要なプレーヤーは現在深く関わっていますか?
PI:地域を確実に検出するために、2人のアドビエンジニアと協力しました。今週、Firefoxの主要な開発者の1人にModernizrにコードを提供してもらいました。最近、WebKitトラッカーに、サポートと呼ばれる機能に関する何かがありました。これは、機能検出のようなものですが、CSSのメディアクエリでもあります。まだ実装されていませんが、WebKitのエンジニアは、ModernizrがCSSを検出する方法が信頼できることを確認しました。その手法は、引き続き機能する必要がある慣例になります。
ですから、私たちは皆のためにこの仕事をするのが得意なエンジニアとたくさんの会話をしています。そして、開発者がエッジケースや古いブラウザに対処できるようにすることは彼らの利益になります。
.net:Modernizrと最先端の標準は将来どこに行くと思いますか?コミュニティはどのように役立ちますか?
PI:特にCSSには、まだまだ追加することがたくさんあります。CSS変数、CSS階層、および多くのオーサリング側の機能が次の革命になるでしょう。そして、私たちが提供するものを検出してフォークできるようにするのは少し難しいでしょうが、それを行うための良い方法を見つけるでしょう。
ブラウザベンダーはすべて、Webプラットフォームの競争力を高めるだけでなく、すべてのブラウザ間での互換性を追求するために、より速いペースでそれを実行することに非常に取り組んでいます。機能と実装は高速ですが、それらを標準化して一貫した実装を取得するための取り組みも高速です。何かがこれを助けるなら、エッジケース機能の互換性を得るために、それはW3Cのためのより良いテストスイートです。
アドビがサンフランシスコで開催したTestthe Web Forwardハッカソンには、すべてのブラウザーベンダーの人々と、W3Cテストスイートに入るテストを作成する多数の開発者が参加しました。テストがあり、機能の使用方法に互換性がないために失敗した場合、ブラウザーはそれを修正します。したがって、Web開発コミュニティができることがあれば、それに関与する必要があります。