Webページをアプリとして利用できる「デスクトップPWA」などが含まれるGoogle Chrome 70安定版がリリース
ウェブブラウザ「Google Chrome」の最新安定版であるバージョン70.0.3538.67がリリースされました。Google Chrome 70ではWebページとアプリの一体化を加速させる「デスクトップPWA」をはじめ、顔や指紋などを利用した「生体認証」などが搭載されています。
New in Chrome 70 | Web | Google Developers
・デスクトップPWA
WindowsでデスクトップPWAが利用できるようになったということで、Spotifyでの利用例のムービーが公開されています。「Install App」をクリックするとダイアログが出現。PWAをインストールするとデスクトップにアイコンが並び、タスクバーのアイコンも専用のものとなっているのが確認できます。
自分のサイトでデスクトップPWAを利用できるようにするにはPWAマニフェストで「short_name」「name」「192pxと512pxのアイコン」「start_url」を指定した上で以下のようなコードを書き、適切なタイミングで「showA2HSPrompt」を呼び出します。以下のコード中のshowInstallButtonはインストール用のボタン表示を切り替える関数で、別途宣言する必要があります。
デスクトップPWAに関して、Chrome OSはすでにChrome 67で対応済み。macOSやLinuxではChrome 72で対応予定となっています。
・生体認証
Chromeには以前から認証情報をブラウザに保存することでユーザーがパスワードを入力せずともログインできるようにするための「Credential Management API」が搭載されており、このAPIを利用した「パスワード認証」と、GoogleアカウントやOpenIDでログインする「連合認証」の2つの認証が実装されていました。
Chrome 70からは上記の2つに加えて「公開鍵認証」が搭載されます。この公開鍵認証ではデバイスの生体認証を利用した2段階認証を行えるようになるとのこと。
・Workerへの命名が可能に
ページの描画をはじめ、ボタンのクリックやスクロールなどの操作のハンドリングなどブラウザの主な機能は「メインスレッド」で動作しています。そのため、重たいJavaScriptをメインスレッドで動作させてしまうとブラウザが操作を受け付けなくなってしまうなどユーザー体験が損なわれてしまいます。
そこで出てきたのがWebWorkerで、重たい処理をWorkerに任せることでWorkerがバックグラウンドで処理してくれ、ページの操作や描画がよりスムーズに行われるようにできます。
.worker-example { display: flex; overflow-x: scroll;}.worker-example p { white-space: nowrap;}.worker-example > div { padding: 0 0.5em 0.5em;}.no-worker { background-color: #FFEBEE;}.with-worker { background-color: #ECEFF1;}.spin-fast { animation: spin-smooth 1s linear infinite;}.spin-slow { animation: spin-smooth 2s linear infinite;}.spin-janky { animation: spin-janky 4s linear infinite;}@keyframes spin-smooth { 100% { transform:rotate(360deg); }}@keyframes spin-janky { 10% { transform:rotate(36deg); } 20% { transform:rotate(72deg); } 25% { transform:rotate(72deg); } 30% { transform:rotate(108deg); } 40% { transform:rotate(144deg); } 50% { transform:rotate(180deg); } 58% { transform:rotate(180deg); } 60% { transform:rotate(216deg); } 70% { transform:rotate(216deg); } 80% { transform:rotate(288deg); } 90% { transform:rotate(324deg); } 100% { transform:rotate(360deg); }} メインスレッドのみの場合 Main thread
重いJavaScriptの動作中はスクロールなど基本的な操作さえおぼつかなくなってしまう。 WebWorkersを利用した場合 Main thread
重たい仕事はWorkerに任せるのでサクサク動作する。 WebWorker
重いJavaScriptを動作させてもメインスレッドには影響なし。
Chrome70からはこのWorkerに名前を付けることができるようになります。同じWorkerを複数立ち上げた時のデバッグが楽になるとのこと。
このほか、Windows 10向けにWeb Bluetoothが利用できるようになり、ブラウザからBluetoothにアクセスできるようになりました。また、Chrome 69で批判を浴びた「自動ログイン」「ゾンビクッキー」問題への対処が行われました。
ゾンビクッキーは削除され、自動ログインはオプトアウトが可能になりました。Chromeへの自動ログインの無効化はChromeの詳細設定から「プライバシーとセキュリティ」欄で設定できます。
また、Chrome 70には23個のセキュリティバグフィックスが含まれています。