Chrome 89 の新機能

Chrome 89 の Stable 版へのロールアウトが開始されました。

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

Pete LePage と申します。自宅で撮影しながら、Chrome 89 のデベロッパー向け新機能についてお話しします。

WebHID、WebNFC、Web Serial

WebHID、WebNFC、Web Serial には非常に期待しています。ユーザーは、現実世界のハードウェアを操作する、これまでにない新しいシナリオを体験できます。

クリエイターは、楽しい、風変わりなハードウェア、ビデオ会議アプリに接続して、専用のスピーカーの専用のテレフォニー ボタンを使用できます。他にもさまざまなユースケースが考えられます。

@AndreBan は、Web Serial と 約 60 行のコードを使用して、Raspberry Pi Pico の MicroPython REPL を操作できるページを作成しました。Web Serial は、Espruino のウェブベースの IDE でも使用されています。

CDS 2019 で、Francois は Web NFC を使用して楽しいメモリー スタイルのゲームを作成しました。スマートフォンを正しい順序で正しいカードにタップする必要がありました。

Daft Punk ドラムパッド付き StreamDeck

私のお気に入りは、@bramus が WebHID を使用して StreamDeck に接続し、Daft Punk のドラムパッドを作成したものです。StreamDeck をお持ちでない場合は、YouTube で彼のデモ動画GitHub のコードをご覧ください。

ハードウェアとやり取りするサイトでも、多くのサイトとやり取りできるハードウェアでも、ユーザーは特別なドライバやソフトウェアをインストールする必要がないため、メリットがあります。

接続できるデバイスの詳細については、web.dev/devices をご覧ください。また、WebHIDWebNFCWeb Serial のスタートガイドもご覧ください。

PWA のインストール可能基準の変更

オフライン サポートは、最初からインストール可能性に関するプログレッシブ ウェブアプリの基準の重要な部分でした。他のインストール済みアプリと同様に、ユーザーは信頼できる動作を期待しています。高速に処理され、オフライン恐竜が表示されることはありません。

今年後半には、一部のサイトがオフライン エクスペリエンスなしでインストール可能性の基準を満たすことができるという抜け穴を閉じる予定です。PWA にすでにオフライン エクスペリエンスがある場合は、設定は完了しています。対応は必要ありませんが、まだ設定していない場合は、この機会に追加してください。

Chrome 89 以降では、オフライン時に PWA が有効なレスポンスを提供していない場合、DevTools の [Issues] タブに警告が表示され、Lighthouse に問題があることが示されます。違反措置は、今年後半の Chrome 93 で開始されます。

コンソールに警告メッセージが表示された DevTools。
Chrome DevTools Console の警告メッセージ。
DevTools の [Application] タブに警告メッセージが表示されている。
[Application] タブ > [Manifest] > [Installability] の警告メッセージ。

提供するオフライン エクスペリエンスの種類を決定できます。できるだけ多くの経験を提供するのが理想的です。ただし、少なくともオフライン フォールバック ページのようにシンプルにすることもできます。

この変更とその理由について詳しくは、プログレッシブ ウェブアプリのオフライン サポート検出の改善をご覧ください。

何から始めればよいかわからない場合は、Workbox をご覧ください。PWA の本番環境対応の Service Worker を強化できる一連のライブラリが用意されています。シンプルなオフライン フォールバック ページの場合は、オフライン フォールバック ページを作成するの記事に必要なコードがすべて記載されています。このコードをコピーしてサイトに直接貼り付けることができます。

パソコンのウェブ共有とウェブ共有ターゲット

サイト上でユーザーがファイルの作成、編集、操作を許可している場合は、Web Share API と Web Share Target API を使用する必要があります。これらの API はモバイルで長い間利用可能でしたが、現在は ChromeOS と Windows でもサポートされています。

ウェブ共有を使用すると、ユーザーはデバイスにインストールされている他のアプリにファイルやデータを送信できます。たとえば、Google フォトから Twitter に写真を共有できます。

async function share(title, text, url) {
  try {
    await navigator.share({title, text, url});
    return true;
  } catch (ex) {
    console.error('Share failed', ex);
    return false;
  }
}

他のアプリがファイルやデータを共有できるようにターゲットとして登録するには、Web Share Target API を使用します。

"share_target": {
  "action": "/?share-target",
  "method": "POST",
  "enctype": "multipart/form-data",
  "params": {
    "files": [
      {
        "name": "file",
        "accept": ["image/*"],
      },
    ],
  },
},

スタートガイドについては、Web Share API を使用して OS 共有 UI と統合するWeb Share Target API を使用して共有データを受信するをご覧ください。

その他

他にもさまざまな機能があります。

Chrome で、JavaScript モジュール内のトップレベルの await が許可されるようになりました。

PWA の新しいアドレスバーのインストール アイコン

ユーザーの混乱を軽減するため、インストール可能な PWA のアドレスバーに表示されるアイコンを更新しました。


また、信頼できるウェブ アクティビティを使用して ChromeOS 版 Google Play ストアで PWA を公開している場合は、Digital Goods API オリジン トライアルに登録できます。

関連情報

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

登録

最新の動画情報を受け取るには、Chrome デベロッパーの YouTube チャンネルチャンネル登録してください。新しい動画が公開されるとメール通知が届きます。

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

クレジット

Raspberry Pi と Arduino の写真は、Harrison Broadbent on Unsplash によるものです。