iOS 14ベータ版のPWA:微妙な変更

公開: 2020-09-04

目次

最新のiOSバージョンであるiOS14Beta 6でのすべての変更を調査し、iOSでのPWAの採用状況で何が変更され、何が新しくなったのかについて話し合うのは、そのときです。 前回のPWAiOS13の記事に見られるように、前回のバージョンにはたくさんの良いニュースがあり、AppleがよりPWAに適したものになっているように見えました。 しかし、彼らはPWAの採用のペースを維持しているのでしょうか、それともアプリの収益を失うことを恐れてPWAを完全に廃止しているのでしょうか。 さて、それは私たちが見つけるためにここにいるものです。

リリースノート

この新しいバージョンでSafariに導入されることがわかっている重要な変更のいくつかを次に示します(無関係な部分の一部は省略されています)。

  • macOSでのSafariWeb拡張機能のサポート。
  • HTTP/3のサポート。
  • WebDriver、XHR + Fetch、Service Workers、CSS、およびSVGのWebプラットフォームテストの合格率が向上しました。
  • 完全なサードパーティのCookieブロッキング、およびプライベートブラウジングモードでのストレージアクセスAPIを有効にしました。
  • Flashのサポートを削除しました
  • 存在する機能に応じて、FaceIDまたはTouchIDを使用するWeb認証プラットフォームオーセンティケーターを追加しました。

私たちはあなたが何を考えているのかを知ることができます—それほど重要な変化ではありませんね。 そうですね、PWA iOS 14には、目に見える以上のものがあることがわかりました。

それをもっと掘り下げる

これは、オペレーティングシステムをさらに掘り下げて、iOS 14のPWAの現在の状態について調べるときの部分です。これには、変更点とPWAの改善方法、iOS14がグローバルな安定版リリースに到達したときに期待できることなどが含まれます。

グッズ

サービスワーカーの最初の兆候

このアップデートには、 App-Bound Domainsと呼ばれる新しいWebKit機能があり、この機能を有効にすると、ServiceWorkerAPIを実際にバインドされたドメインで有効にできます。 サービスワーカーに期待できることに関する公式のドキュメントはなく、この機能が定着しているかどうかについての確認もありませんが、PWA愛好家にとっては依然として非常に有望なニュースだと思います。

アプリにバインドされたドメイン

この新機能がもたらすのは、開発者がアプリ内ナビゲーションを複数のドメインに制限し、エンドユーザーのセキュリティを強化する方法です。 これらの「アプリにバインドされた」ドメインは、次のように、 info.plistファイルのWKAppBoundDomainsキーの下で指定されます。

 <plist version = "1.0">
<dict>
<key> WKAppBoundDomains </ key>
<配列>
    <string> example1.com </ string>
    <string> example2.org </ string>
    ..。
</ array>
</ dict>

App-Bound Domainsを有効にすると、ServiceWorkerを登録できるようになります。

iOS14のServiceWorker
MaximilianoFirtmanの好意による画像

ただし、App-Bound Domainsが構成されている場合に、ServiceWorkerが有効になる理由については漠然とした説明しかありません。 また、Service Workerのインスタンスをデバッグする方法がないため、経験豊富な開発者でも全体が比較的あいまいです。

たとえば、サービスワーカーの定義機能であるキャッシュストレージについて考えてみましょう。 Safari DevToolsのストレージとサービスワーカーの登録の下には、主要な作業を行った経験豊富な開発者の言葉がありません。「Safari、ホーム画面のWebアプリ、またはWKWebViewとAppBoundDomainsを使用する他のアプリとは共有されません。同じ起源で。」

まだ全体像はわかりませんが、Service WorkerがiOSにあるという事実は依然としてお祝いの理由であり、安定したリリースが私たちに全体像を与えることを期待することしかできません。

TouchIDとFaceIDの新しいサポート

最近AppleWorldwideDevelopers Conference(WWDC)で紹介された、TouchIDとFaceIDがついにWebAuthnAPIを介してSafariで利用できるようになりました。 これらの機能を統合すると、PWAに摩擦のないエクスペリエンスが提供され、ユーザーエクスペリエンスが向上します。

Web上のTouchIDとFaceID
出典:WWDC

デフォルトのブラウザを変更する機能

iOS 14以降、ユーザーは最終的にデフォルトとして別のブラウザーを選択できるようになりました。 これは(一種の)Appleからの素晴らしい動きであり、デフォルトのアプリを変更することは以前は不可能だったので、世界中のAppleユーザーにとって朗報です。 しかし、まだ馬に乗ってください。これは、AppleユーザーがさまざまなWebブラウザエンジンがもたらすすべてのエキサイティングな機能から利益を得ることができるという意味ではありません。実際、それはすべて同じです。 サードパーティのブラウザは、基盤となるブラウジングエンジンとしてAppleのWebKitに依存するという制限の下にあります。つまり、新しいデフォルトのWebブラウザは、外観は光沢があり、異なって見えるかもしれませんが、内部は実際には何も変更されていません。

iOS14ベータ版でのデフォルトのWebブラウザーの変更
新しいiOS14でデフォルトのWebブラウザを変更できます

Webのジオロケーション

では、SafariのW3CGeolocationAPIの状態はどうなっているのでしょうか。 さて、より良い位置追跡をもたらすいくつかの変更がありますが、W3CGeolocationAPIで行われた改善の直接の結果としてではありません。 変? 私たちは知っています。 これについてさらに詳しく見ていきましょう。

新しいiOS14ベータ版でアプリごと正確な場所を有効にすると、Safariでおおよその場所を追跡できます。

iOS14ベータ版のジオロケーション

おおよその位置はOSによってのみ認識され、iOSでのこの新しい位置追跡動作を分析するプロセス中に、新しいiOS 14Beta6がPWAにおおよその位置をどのように提供するかについての決定的な答えを実際に見つけた人は誰もいません。 しかし、これまでのデータを見ると、有望なようです。 以下は、追跡場所としてイグアスを使用するFlirtの作品の例です。

iOS14ベータ版のジオロケーション
MaximilianoFirtmanの好意による画像

ご覧のとおり、APIは対象の場所を正確に判別して表示します。 この印象的な結果は、このWWDC2020ビデオで紹介されたCoreLocationAPIへの今後の変更と関係があると推測されます。

アプリクリップ—良いことかもしれません

新しいAppClipを使用すると、開発者はメタタグを使用するだけで「PWAインストールのような」エクスペリエンスを提供できます。

 <meta name = "apple-itunes-app" content = "app-id = myAppStoreID、app-clip-bundle-id = appClipBundleID、affiliate-data = myAffiliateData、app-argument = myAppArgument">

この新しいアプリクリップ機能は、Androidのインスタントアプリと同様に機能することを想像できますが、NFCとQRスキャンに重点が置かれ、ユーザーが最終的にネイティブアプリをインストールできるようになります。

iOSのアプリクリップ
アプリクリップで人々にリーチする新しい方法
[ソース:アップルのニュースルーム]

この新機能の可能性は何ですか? わかりませんが、Androidにインストール可能なPWAへの一歩になるかもしれません。

悪い点

PWAを無視する新しいアプリギャラリー

新しいアプリライブラリは、アプリの用途やカテゴリなどでアプリを並べ替えて整理する自動化された機能です。ホーム画面に追加されたPWAには、ユーザーのホーム画面とWebclipsカテゴリの下に表示されるという利点がありますが、この動作は一貫性がなく、変更される可能性があります。

iOSのアプリライブラリ
PWAは、iOSシミュレーターのWebクリップの下に自動的に表示されます。

実際、初期のテスターは、PWAが無視され、新しいアプリライブラリにまったく表示されないことを発見しました—「最近追加された」グループまたは「提案」グループにあるかどうか。 したがって、PWAがネイティブアプリと同じ種類の扱いを受けるのは良いことかもしれませんが、PWAが単に無視されるとは思っていなかったので、これは私たちにとって依然として衝撃的なニュースです。

Webアプリマニフェストのサポートに変更はありません

ご想像のとおり、AppleからWebAppManifestのサポートを推進する動きはまったくありません。 Webアプリマニフェストサポートのステータスは部分的にサポートされたままです。つまり、 iconsminimal-uifullscreenorientation 、またはtheme-colorはサポートされていません。

iOSでのWebアプリマニフェストのサポート
Webアプリマニフェスト–部分的にサポート
出典:WebKit

ステータスバー

iOSがWebアプリマニフェストのtheme-colorから値を取り入れているのを見るのは良いことですが、それまでの間は、より少ない金額で解決する必要があります。 iOS 14ベータバージョン5以降、ステータスバーを白にすることはできなくなり、受け入れられる値はblackblack-translucentのみになります。

iOSベータ1から5のステータスバー
iOS 14ベータ1→4(上)およびiOSベータ5(下)

醜い

コア機能はまだサポートされていません

これは大きなアップデートですが、まだ何かが足りないと感じています。 これはおそらく、PWAの一部のコア機能がまだサポートされていないという事実と関係があり、Appleからこれらの機能を推進する動きはほとんどありません。

  • Webプッシュ
  • バックグラウンド同期
  • ページのライフサイクル
  • WebViewsのServiceWorker(つまり、Webブラウジングが主な目標ではないChrome、Firefox、Instagram、またはFacebookにはPWAがありません)
  • ユニバーサルリンク/リンクキャプチャ

結論

これらすべての今後の変更についてどう思いますか? 私たちに関しては、すべての変更を確認した後、残念なメモが残っていると感じています。 App-Bound Domains、Geolocationなど、いくつかの変更がありますが、これは正しい方向への一歩のようですが、Appleは、このアップデートでPWAのコア機能をさらにプッシュすることを気にしませんでした。 そして、私たちがここで話しているのはAppleなので、それは理にかなっていると思います。私たちは常にWebに対して非常に断固として反対していることを知っていました。