在WWDC2022開幕演講中,蘋果宣佈WebPush功能將改善來自網頁應用的通知。該功能預估將於2023年上線,這對於用戶和開發者來說都是一件好事情。事實上,蘋果對於第三方應用的態度一直不太穩定。
● 最初的拒絕
在 iPhone 誕生之初,史蒂夫·喬佈斯反對在設備上允許第三方應用程序。他希望開發人員創建可與 Safari 一起使用的 Web 應用程序。HTML5 等 Web 標準是使其成為應用程序可行平臺的關鍵。這種類型的標記語言構建多媒體內容和交互元素。
蘋果致力於提高其設備上的 HTML5 性能。當該公司在 2014 年推出 iOS 8 時,它包括 WKWebView,這是一個新的瀏覽器引擎,可以讓混合應用程序和原生應用程序一樣運行。
喬佈斯接受 HTML5 作為 Adobe Flash 的替代品。當他在 2010 年撰寫“Thoughts on Flash”時,他贊揚瞭 Netflix 和 YouTube 等公司轉向 HTML5 視頻內容。
蘋果還鼓勵使用 iOS 13 的網絡應用程序。它從 App Store 中清除瞭低質量的應用程序,並表示某些特性和功能最好通過 Safari 提供。
● 遭質疑
在 6 月 13 日發佈的文章,Telegram 創始人 Durov 引用英國監管機構競爭與市場管理局 (CMA) 的評論,認為蘋果將用戶從 Web 應用程序推向帶有本地應用程序和規則的 App Store。
CMA 對其長達一年的移動生態系統研究的結論對 iOS 上的瀏覽器表示擔憂,這是應用程序爭論的另一個方面。蘋果禁止第三方瀏覽器引擎,因此 iOS 和 iPadOS 上的每個瀏覽器都是基於該公司的 WebKit 引擎構建的。因此,CMA 表示,該公司幾乎沒有動力去改進 WebKit 並扼殺消費者和企業。
這樣做的目的是抵禦競爭對手,例如 Google 的 Blink 瀏覽器引擎。它是開源 Chromium 項目的一部分,其既定使命是讓網絡成為訪問信息的焦點。Google瀏覽器在除 iOS 之外的所有平臺上都使用 Blink。 iOS 版本的 Chrome 使用 WebKit,這意味著Google被迫跟上蘋果的步伐。
WebKit 是開源的,該項目的使命是作為瀏覽器和應用程序的通用內容引擎。消息說,瀏覽器應該堅持顯示內容而不是應用程序。開發人員想要 Web 應用程序,因為它們可以在任何平臺上運行,而不受應用商店的規則和限制。
● 面對質疑 蘋果的緩慢改進
面對質疑,蘋果正在積極改進,盡管速度很慢。正如 6 月的主題演講中所揭示的,其操作系統中的網絡應用程序體驗將得到改善。加入 Apple 開發者計劃以發送 Web 推送通知不是必需的。
該功能要到 2023 年才會出現,它由 Push API、Notifications API 和 Service Worker 組成。Service Worker 是一段代表 Web 域運行的 JavaScript 代碼,與打開的瀏覽器選項卡分開。
未經用戶許可,網站不得推送通知。網站隻能請求推送訂閱以響應鼠標點擊或擊鍵。用戶可以單擊“訂閱”按鈕,然後在出現的權限對話框中單擊允許。網站的通知切換將在設備設置中找到,就像本機應用程序一樣。
Push API 使用一個 JavaScript 接口,允許網站使用推送訂閱。 ServiceWorker API 支持推送消息,而 Notifications API 允許服務工作者推送通知,而無需打開瀏覽器。
在 macOS Ventura 中,安裝瞭一個名為 webpushd 的新守護程序作為 LaunchAgent。它接收來自網頁的推送訂閱請求,並使用 Apple 推送通知服務將它們轉換為推送訂閱。結果是 Web 應用程序會感覺更接近原生應用程序。使用 Safari 中的共享表,用戶可以將 Web 應用程序頁面添加到主屏幕以融入其中。