Chrome 95 の新機能

必知事項は次のとおりです。

  • ブラウザに組み込まれた URLPattern により、ルーティングが容易になります。
  • Eye Dropper API には、色を選択するための組み込みツールが用意されています。
  • 新しいオリジン トライアルでは、削減された UA 文字列の受信をオプトインできます。
  • PWA Summit の動画はすべてオンラインで公開されています。
  • 他にも多数の機能があります。

Pete LePage と申します。自宅で撮影しています。Chrome 95 のデベロッパー向けの新機能について詳しく見ていきましょう。

URLPattern を使用したルーティング

ほとんどのウェブアプリは、ディスク上のファイルにパスをマッピングするサーバー上で実行されるコードや、URL が変更されたときに DOM を更新するシングルページ アプリのロジックなど、なんらかの方法でルーティングに依存しています。URLPattern は、ルーティング パターンの構文を標準化する新しいウェブ プラットフォーム API です。

既存のフレームワークの基盤上に構築されているため、一般的なルーティング タスクを簡単に実行できます。たとえば、完全な URL または URL パス名と照合し、トークンとグループの一致に関する情報を返します。

Express、Ruby on Rails、path-to-regexp で使用されるルーティング構文に慣れている場合は、この構文は見慣れているはずです。

使用するには、新しい URLPattern() を作成し、パターン マッチを行う詳細情報を指定します。パターンには、ワイルドカード、名前付きトークン グループ、正規表現グループ、グループ修飾子を含めることができます。

const p = new URLPattern({
  protocol: 'https',
  hostname: 'example.com',
  pathname: '/:folder/*/:fileName.jpg',
  search: '*',
  hash: '*',
});

たとえば、Google ドキュメントで使用される可能性のある URLPattern について見てみましょう。ファイルの kind、ファイルの ID、開く mode を指定します。パターンを使用するには、test() または exec() を呼び出します。

const url = 'https://docs.google.com/document/d/1s...5c/edit#heading=h.8...c';

const pattern = new URLPattern({
  pathname: '/:kind/d/:fileID/:mode',
  hash: '*',
});

const r = pattern.exec(url);
// {
//   "pathname": {"groups": {
//     "fileID": "1s...5c",
//     "kind": "document",
//     "mode": "edit"
//   }, ...},
//   "hash": {"groups": {"0":"heading=h.8...c"}, ...},
//   ...
// }

URLPattern は、Chrome と Edge のバージョン 95 以降ではデフォルトで有効になっています。まだサポートされていないブラウザや Node などの環境では、urlpattern-polyfill ライブラリを使用できます。

詳しくは、ジェフの記事「URLPattern がウェブ プラットフォームにルーティングをもたらす」をご覧ください。

Eye Dropper API を使用した色の選択

これまで使用したデザインアプリのほとんどには、スポイトツールがあり、色を簡単に把握できます。一部のブラウザには <input type=color> にスポイト機能が組み込まれていますが、これは理想的ではありません。

Microsoft の社員によって実装されたアイドロッパーの API は、その機能をウェブにもたらします。使用するには、新しい EyeDropper() インスタンスを作成し、そのインスタンスで open() を呼び出します。

const eyeDropper = new EyeDropper();
const result = await eyeDropper.open();
// result = {sRGBHex: '#160731'}

他の多くの最新のウェブ API と同様に、非同期で動作するため、メインスレッドをブロックしません。ユーザーが希望する色をクリックすると、クリックした色で解決されます。

簡単なデモを試したり、Glitch でコードを確認したりできます。

PWA サミット

今月初めに開催された PWA サミットに参加されましたか?

多くのユーザーが PWA について語り、経験を共有してくれたことを嬉しく思います。見逃した方は、動画はすべて公開されていますので、PWASummit.org または PWA Summit YouTube チャンネルでご確認ください。

ユーザー エージェントの情報量削減に関するオリジン トライアル

ユーザー エージェントの情報量削減は、User-Agent 文字列内の情報を、ブラウザのブランドとメジャー バージョン、パソコンまたはモバイルの区別、実行されているプラットフォームのみに削減することで、パッシブ フィンガープリント サーフェスを減らす取り組みです。

Chrome 95 以降では、新しいオリジン トライアルが実施され、削減された UA 文字列の受信をオプトインできるようになります。これにより、UA の削減が Chrome のデフォルト動作になる前に、問題を検出して修正できます。

変更は複数のリリースにわたって段階的に適用されますが、準備とテストに必要なものはすべて今すぐご利用いただけます。

詳細とタイムラインについては、developer.chrome.comユーザー エージェントの情報量削減に関するオリジン トライアルの投稿をご覧ください。

その他

もちろん、他にもたくさんあります。

  • Storage Foundation API の開発に注目されている方は、アクセス ハンドルのオリジン トライアルが新たに開始されたことをご存じでしょうか。
  • WebAssembly で例外処理のサポートが提供されるようになりました。これにより、例外がスローされたときにコードが制御フローを中断できるようになります。
  • Chrome 100 は来年リリースされます。つまり、コードが 2 桁以上の数字を処理できるようにする必要があります。

関連情報

以下に、主なハイライトをいくつかご紹介します。Chrome 95 のその他の変更については、以下のリンクをご覧ください。

登録

最新情報を入手するには、Chrome Developers の YouTube チャンネルチャンネル登録してください。新しい動画が公開されると、メール通知が届きます。

Pete LePage と申します。Chrome 96 がリリースされ次第、Chrome の新機能についてお知らせします。