GoogleのChrome 53ベータ版はShadow DOM V1とPaymentRequest APIをサポートした。
以前のV0バージョンから大幅な改善がみられるShadow DOM V1へのアップグレードは、複数のShadow rootsの非推奨化や、closed modeに設定することにより外からShadow rootのノードへのアクセスを不許可にする機能追加を含む。
Hayato Ito氏はリリースを発表したブログ記事において、HTML、CSS、それにJavaScriptは便利でパワフルな言語でありつつも巨大なコードベースになった際にメンテナンスが困難な点を強調した。
V1は「要素のスタイルと子のDOMをカプセル化しメインのドキュメントから隔離できる。これは大規模または複雑な構成のサイトの保守性を向上させる」とIto氏は述べている。ただし、ChromeはV0もサポートし続けることに留意しておく必要がある。
HackerNewsのGoogle Chrome 53 Betaについてのディスカッションでは、ユーザーのborplk氏が「Shadow DOMはReactなどに(パフォーマンス向上等について)重要な影響を与えるか?」と質問した。
GoogleのエンジニアEric Bidelman氏はこう返答している :
Shadow DOMの利用は、(ブラウザに組み込まれた)開発者の生産性に貢献するツールであることは明白です。
Reactでは、インラインのstyle (https://facebook.github.io/react/tips/inline-styles.html)またはCSSセレクタをモジュール化(例:CSS Modules)するためのビルドツールを使う必要があります。インラインのstyleは特異性を汚染する可能性があり、大量のインラインのstyleはブラウザのコンテキストを必要以上に切り替える(HTMLパーサー⇔CSSパーサー)作用があります。断っておくと、後者は実際実際のアプリでパフォーマンス問題になることはほとんどありません。
Shadow DOMではCSSを単に書くだけです。<style>タグ内かスタイルシートにセレクターを記述するだけで、ブラウザは魔法のようにセレクターをコンポーネントへスコープします。ツールは必要ありません。また、Shadow rootは外側のstyleが流入することを防ぎます。これについてはブラウザ側の助けなしには特に注意が必要です。
Chrome 53 Beta版は、ほかにもPayment Request
APIを導入している。Ito氏によれば、このAPIはクレジットカードかAndroid Payを使った素早くセキュアな支払いを可能にし、タイピングいらずで請求先住所、出荷の詳細、支払人情報をユーザーに提供する。
W3CワーキングドラフトでAPIはこう説明されている:
Webページは支払い要求をするPaymentRequestを作成する。これはユーザーによる支払いプロセスの開始に紐付けられている(例: ゲーム内での課金アイテムの購入、立体駐車場での精算、もしくは「買う」「購入」「チェックアウト」などのボタン押下)。PaymentRequestは PaymentRequestは、ユーザーが支払い要求を承認または拒否する前に入力を提供している間にWebページがユーザーエージェントと情報を交換することができます。
Googleは下記のデモ動画を公開している:
53 Betaでは他のアップデートの影に隠れWeb Bluetooth APIも初めて試験的に追加されている。Web Bluetooth APIはWebサイトが近くのデバイスに対しnavigator.bluetooth.requestDevice
でアクセスをリクエストし、ユーザーにプロンプトを表示することで動作する。
Chrome 53 Betaで非推奨になった機能の一部は以下:
- HTTP/0.9はHTTP/1.0への移行により非推奨化された。これによりレスポンスヘッダーのサポートが追加される。
- TLS Diffie-Hellman共有鍵による暗号化が、M51での非推奨化に伴い削除された。
TextEncoder
APIは引数を受け付けなくなり、その代わり常にUTF-8を使用してエンコードする。- Symantec CorporationまたはCAs により発行されたSymantec Corporationに紐づく新たな証明書は、証明書の透明性についての情報が随伴していないかぎり、Chromeでは信頼されない。
Rate this Article
- Editor Review
- Chief Editor Action