Appleとウェブアプリの関係は2023年に改善されるだろう

Appleとウェブアプリの関係は2023年に改善されるだろう

WWDC 2022の基調講演で、Appleはウェブアプリからの通知を改善するWeb Pushを発表したが、Appleとこのテクノロジーの関係は常に不安定だった。

iPhoneの開発当初、スティーブ・ジョブズはサードパーティ製アプリのiPhoneへのインストールに反対していました。彼は開発者に、Safariで使えるウェブアプリの開発を強く求めていました。

HTML5などのWeb標準は、アプリにとって実用的なプラットフォームを実現する上で重要な役割を果たしました。このタイプのマークアップ言語は、マルチメディアコンテンツとインタラクティブな要素を構造化します。

Appleは自社デバイスにおけるHTML5のパフォーマンス向上に取り組みました。2014年にiOS 8を発表した際には、ハイブリッドアプリをネイティブアプリと同様に動作させるための新しいブラウザエンジンであるWKWebViewを搭載しました。

ジョブズはAdobe Flashの代替としてHTML5を採用しました。2010年に「Thoughts on Flash」を執筆した際には、NetflixやYouTubeといった企業がHTML5の動画コンテンツに移行したことを称賛しました。

AppleはiOS 13でウェブアプリも推奨した。App Storeから低品質のアプリを削除し、特定の機能はSafariを通じて提供するのが最適だと述べた。

macOS Ventura の Web Push

macOS Ventura の Web Push

AppleがネイティブアプリとルールによってユーザーをウェブアプリからApp Storeへと押し出しているというのが批評家たちの主な非難だ。

2008年のサービス開始当初、Appleは自社プラットフォームへのアプリ公開に30%の手数料を課していました。ジョブズ氏はネイティブアプリを高く評価し、ウェブベースのアプリよりも優れていると述べました。

これは訴訟の対象となっているが、アプリをめぐる議論の唯一の側面ではない。Telegram Webの開発者が4月にiOS Safariの問題点10項目を公開した後、Telegramの創設者であるパベル・デュロフ氏がこの件について投稿した。

6月13日に発表された報告書で、デュロフ氏は英国の規制当局である競争・市場庁(CMA)のコメントが「正確な要約」を提供していると述べた。

CMA は、モバイル エコシステムに関する 1 年間の調査の結論として、iOS 上のブラウザーに関する懸念を表明しており、これはアプリに関する議論のもう 1 つの側面です。

Appleはサードパーティ製のブラウザエンジンを禁止しているため、iOSとiPadOSのすべてのブラウザは同社のWebKitエンジン上に構築されています。その結果、AppleにはWebKitを改良するインセンティブがほとんどなく、消費者と企業の活動を阻害しているとCMAは指摘しています。

目標は、GoogleのBlinkブラウザエンジンなどのライバルに対抗することです。これはオープンソースのChromiumプロジェクトの一部であり、その使命はウェブを情報アクセスの中心地として維持することです。

Google Chromeは、iOSを除くすべてのプラットフォームでBlinkを使用しています。iOS版ChromeはWebKitを使用しているため、GoogleはAppleのペースに合わせざるを得ません。

WebKitはオープンソースであり、プロジェクトの使命はブラウザとアプリ向けの汎用コンテンツエンジンとなることです。ブラウザはアプリではなくコンテンツの表示に専念すべき、というのがそのメッセージです。

開発者が Web アプリを求めるのは、アプリ ストアのルールや制限を受けずに、あらゆるプラットフォームで実行できるためです。

Appleはゆっくりとではあるが、着実に前進している。6月の基調講演で明らかになったように、同社のOSにおけるウェブアプリのエクスペリエンスは向上していくだろう。

また、Web プッシュ通知を送信するために Apple Developer Program に参加する必要はありません。

ウェブプッシュ

この機能は 2023 年まで提供されず、Push API、Notifications API、および Service Workers が連携して動作します。

Service Worker は、開いているブラウザ タブとは別に、Web ドメインに代わって動作する JavaScript コードです。

Safariアイコン

Safariアイコン

ウェブサイトはユーザーの許可なしにプッシュ通知を送信することはできません。ウェブサイトは、マウスのクリックまたはキー入力に応じてのみプッシュ通知のサブスクリプションをリクエストできます。

ユーザーは「購読」ボタンをクリックし、表示される権限ダイアログで「許可」をクリックできます。ウェブサイトの通知トグルは、ネイティブアプリと同様にデバイス設定で確認できます。

Push APIは、ウェブサイトがプッシュ通知を利用できるJavaScriptインターフェースです。ServiceWorker APIはプッシュメッセージをサポートし、Notifications APIはブラウザを開かなくてもService Workerがプッシュ通知を送信できるようにします。

macOS Venturaでは、LaunchAgentとしてwebpushdという新しいデーモンがインストールされています。このデーモンは、Webページからのプッシュ通知サブスクリプションリクエストを受け取り、Apple Push Notification Serviceによるプッシュ通知サブスクリプションに変換します。

その結果、Webアプリはネイティブアプリに近づきます。Safariの共有シートを使えば、Webアプリのページをホーム画面に追加して、画面に溶け込ませることができます。

Appleは開発者の要求に応えるため、あるいはApp Storeの支配権を狙う規制当局の意向に応えるため、ウェブアプリの改良を進めているのかもしれません。あるいは、サイドローディングを強制的に許可されないように、これらのアプリを二次的なエコシステムとして取り込もうとしている可能性もあります。

現時点では、2022 年 6 月ですが、2023 年に Web Push がリリースされることは、ユーザーと開発者にとって良いことになりそうです。