IT之傢 6 月 22 日消息,據 Apple Insider 報道,在 WWDC22 主題演講中,蘋果宣佈瞭 Web 推送新服務,將改進來自 Web 應用程序的通知。但回顧過去蘋果在 Web 技術方面總是有自己的想法。
在 iPhone 誕生之初,蘋果創始人史蒂夫 喬佈斯反對在設備上運行第三方應用程序。他希望開發人員創建可在 Safari 瀏覽器上使用的 Web 應用程序。
HTML5 等 Web 標準是使其成為應用程序可行平臺的關鍵。這種類型的標記語言可構建多媒體內容和交互元素。
蘋果致力於提高其設備上的 HTML5 性能。當該公司在 2014 年推出 iOS 8 時,包含瞭 WKWebView,這是新的瀏覽器引擎,可以讓混合應用程序和原生應用程序一樣運行。
喬佈斯同意將 HTML5 作為 Adobe Flash 的替代品。當他在 2010 年撰寫“Thoughts on Flash”時,他贊揚瞭 Netflix 和 YouTube 等公司轉向 HTML5 視頻內容的做法。
蘋果還鼓勵使用 iOS 13 上的 Web 應用程序,從 App Store 中清除瞭低質量的應用程序,並表示某些特性和功能最好通過 Safari 瀏覽器提供。
批評者的主要指責是,蘋果將用戶從 Web 應用程序推向支持本地應用程序和規則的 App Store 應用商店。
在 2008 年推出時,蘋果對在 App Store 平臺上發佈的應用程序收取 30% 的費用。喬佈斯稱贊瞭原生應用程序,並表示它們比基於 Web 的應用更好。
一直以來這都是訴訟的主題,但並不是應用程序爭論的唯一方面。Telegram Web 開發者在今年 4 月分享瞭 iOS Safari 瀏覽器的 10 個列表問題後,Telegram 創始人 Pavel Durov 就此事寫瞭一篇帖子。
Pavel Durov 的貼子於 6 月 13 日發表,稱英國監管機構競爭與市場管理局 (CMA) 的評論提供瞭“準確的總結”。
英國 CMA 對蘋果移動生態系統進行瞭長達一年的研究,其對 iOS 上的瀏覽器表示擔憂,這是關於應用程序爭論的另一個方面。
蘋果禁止第三方瀏覽器引擎,因此 iOS 和 iPadOS 上的各個瀏覽器都是基於蘋果公司的 WebKit 引擎構建的。因此,英國 CMA 表示,蘋果公司幾乎沒有動力去改進 WebKit 引擎,從而扼殺瞭消費者和企業。
蘋果的目標是抵禦競爭對手,例如谷歌的 Blink 瀏覽器引擎,它是開源 Chromium 項目的一部分,其既定使命是讓 Web 成為訪問信息的焦點。
谷歌 Chrome 瀏覽器在除 iOS 之外的所有平臺上都使用 Blink 引擎。iOS 版本的 Chrome 使用 WebKit 引擎,這意味著谷歌一直在被迫追趕蘋果。
WebKit 也是開源的,該項目旨在作為瀏覽器和應用程序的通用內容引擎。有消息稱,蘋果認為瀏覽器應該堅持顯示內容而不是運行應用程序。
但開發人員想要 Web 應用程序,因為它們可以在任何平臺上運行,而不受應用商店的規則和限制。
蘋果改變瞭想法,目前正在推進,盡管速度很緩慢。正如今年 6 月的 WWDC 主題演講中所揭示的,蘋果操作系統中的 Web 應用程序體驗將得到改善。
而且,加入蘋果開發者計劃來發送 Web 推送通知並不是必需條件。
Web 推送
該功能要到 2023 年才會出現,它由 Push API、Notifications API 和 Service Worker 組成。
Service Worker 是一段代表 Web 域運行的 JavaScript 代碼,該 Web 域與打開的瀏覽器選項卡分離。
未經用戶許可,網站不得推送通知。網站隻能請求推送訂閱以響應鼠標點擊或擊鍵。
用戶可以單擊“訂閱”按鈕,然後在出現的權限對話框中單擊“允許”。網站的通知開關將在設備設置中找到,就像原生應用程序一樣。
Push API 使用一個 JavaScript 接口,允許網站使用推送訂閱。ServiceWorker API 支持推送消息,而 Notifications API 允許 service worker 推送通知,而無需打開瀏覽器。
在 macOS 13 Ventura 中,可安裝 webpushd 新程序作為 LaunchAgent。它接收來自網頁的推送訂閱請求,並使用蘋果推送通知服務將它們轉換為推送訂閱。
結果顯示,Web 應用程序會感覺更接近原生應用程序。使用 Safari 中的共享菜單,用戶可以將 Web 應用程序頁面添加到主屏幕以融入其中。
蘋果正在改進 Web 應用程序,可能想通過這種方式,來安撫開發者或監管者對其嚴格控制 App Store 的過度關註。蘋果公司還可能將這些 Web 應用程序作為二級生態系統采用,但仍不想被迫開放 iPhone 側載原生 App。