HTML5Experts.jp

Edge Web Summit、Chrome 50、Firefox 46、WebKitなど─2016年4月のブラウザ関連ニュース振り返り

連載: WEB標準化動向 (12)

2016年4月のブラウザニュースは、Edge Web Summit、Chrome 50リリース、Firefox 46リリース、WebKitの接頭辞ポリシー変更などについて紹介します。

Edge Web Summit開催

4月4日に、Edge Web Summitが開催されました。Microsoftは前々日にBuildカンファレンスを行っていましたが、Edgeはこちらに集中した印象です。

新たに発表されたのは、レンダリングエンジンEdgeHTMLのイシュートラッカーです。

Internet Explorer時代にもMicrosoft Connectで公開フィードバックはできましたが、こちらはエンジンのEdgeHTMLに特化しており、開発者とのコミュニケーションを強く意識しているように感じられます。

他にも、Webで使われているCSSプロパティなどを集めたデータも公開されました。ChromeチームもChrome Platform Statusで公開していますが、それと同等のものですね。

「使われている」の定義にもこだわっているようで、ただCSSファイルを解析しているわけではなく、WebページにアクセスしDOMとCSSOMを構築したうえで調べているとのこと。

現在バグのため padding 利用率が0%になっていますが (CSSの calc() 解釈まわりにバグがあるそう)、そのうち直るでしょう。

また、WebRTC関連のロードマップが更新されたことも発表されました。

これまでEdgeではORTCをサポートしていましたが、互換性への取り組みからWebRTC 1.0の一部も実装するようです。また、映像コーデックについてはH.264/AVCを実装中、さらに決定ではありませんがVP8も検討しているとのこと。

Chrome 50リリース

4月13日に、Chrome 50がリリースされました。ついに50なのですね。

新しい機能についてはBetaリリース時のポスト、およびDev Operaの記事が詳しいです。

新しい機能として、HTMLの link 要素に preload というものが加わりました。使われるであろうリソースをその種類とともに指定することで、先読みを実施できます。

たとえばWebフォントのURLなどに使いやすそうです。外部CSSでWebフォントが定義されている場合、まずそのCSSファイルを取得し解釈したのち、Webフォントをリクエストするため、パフォーマンスの向上が見込めそうです。

他に目立つのは、Canvasの toBlob() メソッドと、 ImageBitmap インターフェースでしょうか。

toBlob()toDataURL()Blob 版です。一度文字列を経由せずに、バイナリデータを直接さわれるのが魅力でしょうか。

ImageBitmap は、Canvasで画像を扱いやすくするAPIです。これまでは効率的に画像のデコードなどを行えませんでしたが、createImageBitmap() を使えば非同期に画像を容易できます。drawImage() のように描画を必要としないのも魅力的です。Workerにも提供されるので、画像の処理を別スレッドにもっていくのも容易です。

すでに他のブラウザでも一部実装されており、toBlob() はFirefox 19とIE10から、ImageBitmap はFirefox 42でサポートされています。

新しい機能が追加される一方で、削除・廃止予定の発表もあります。Chrome 50では、非HTTPS環境でGeolocation APIが利用不可に、同じく非HTTPS環境でAppCacheが廃止予定となりました。

位置情報の取得をGeolocation APIのみに頼っているサイトはHTTPSへの移行が強く推奨されていますが、Google Maps Geolocation APIなど別のサービスも紹介されています。

機能の削除や廃止については、blink-devメーリングリストで都度アナウンスされるほか、Chrome Platform Statusで「deprecated」「removed」と検索すると、すでに変更されたものも含め一覧を見られます。

また、廃止予定の機能を仕様している場合はコンソールにその旨が出ますので、たまにはちゃんと読みましょう。

Firefox 46リリース

4月26日にFirefox 46がリリースされました。

ES2015 に導入された RegExpu フラグがサポートされました。絵文字や「𠮷」といったBMP外の文字はES5時代のJavaScriptでは扱いづらかったのでうれしいですね。

これに伴い、input 要素の pattern 属性の解釈を u フラグと同等にする変更がHTML仕様に入り、そちらもあわせて実装されました。たしかにフォームのバリデーションは u フラグつきの方がやさしそうですね。

はてなの開発者向けブログでも取り上げられています。わかりやすいです。

また、JavaScriptでのUnicodeの扱いはOperaのMathias Bynesの記事によくまとまっています。彼の講演も面白いですよ。

CSSでは、圏点を表示させる text-emphasis プロパティ群がサポートされました。小説などでは見る強調表現ですが、Webでも太字以外の強調が今後増えてくるのでしょうか。

他には、過去に紹介した -webkit- 接頭辞のプロパティサポートが有効になりました。日本のモバイル向けページなど、-webkit- 接頭辞に強く依存してるページの表示が向上すると思われます。

WebKitが接頭辞のポリシーを変更し、他エンジンに追従

4月26日に、WebKitがベンダー接頭辞に関するポリシーを変更すると発表しました。試験的な機能にベンダー接頭辞をつけることはせず、他エンジンのようにランタイムフラグを設けて試すようになります。

最近はツールの助けもあり、手で -webkit- などを書くことは少なくなっていると思いますが、すでに公開されたページではWebKitの接頭辞に依存したコードが残っていたりします。これをうけEdgeやFirefoxは互換性確保のためいくつかの機能をサポートしています。

接頭辞の廃止については、WebKitもしていきたいとのことですが、機能によりそうです。廃止が現実的でない機能については、Compat Standardでの定義など標準化によるサポートも必要でしょうか。