在WWDC 2022開幕演講中,蘋果宣布Web Push功能將改善來自網頁應用的通知。該功能預估將于2023年上線,這對于用戶和開發(fā)者來說都是一件好事情。事實上,蘋果對于第三方應用的態(tài)度一直不太穩(wěn)定。
·最初的拒絕
在iPhone誕生之初,史蒂夫·喬布斯反對在設備上允許第三方應用程序。他希望開發(fā)人員創(chuàng)建可與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日發(fā)布的文章,Telegram創(chuàng)始人Durov引用英國監(jiān)管機構競爭與市場管理局(CMA)的評論,認為蘋果將用戶從Web應用程序推向帶有本地應用程序和規(guī)則的App Store。
CMA對其長達一年的移動生態(tài)系統研究的結論對iOS上的瀏覽器表示擔憂,這是應用程序爭論的另一個方面。蘋果禁止第三方瀏覽器引擎,因此iOS和iPadOS上的每個瀏覽器都是基于該公司的WebKit引擎構建的。因此,CMA表示,該公司幾乎沒有動力去改進WebKit并扼殺消費者和企業(yè)。
這樣做的目的是抵御競爭對手,例如Google的Blink瀏覽器引擎。它是開源Chromium項目的一部分,其既定使命是讓網絡成為訪問信息的焦點。Google瀏覽器在除iOS之外的所有平臺上都使用Blink。iOS版本的Chrome使用WebKit,這意味著Google被迫跟上蘋果的步伐。
WebKit是開源的,該項目的使命是作為瀏覽器和應用程序的通用內容引擎。消息說,瀏覽器應該堅持顯示內容而不是應用程序。開發(fā)人員想要Web應用程序,因為它們可以在任何平臺上運行,而不受應用商店的規(guī)則和限制。
·面對質疑蘋果的緩慢改進
面對質疑,蘋果正在積極改進,盡管速度很慢。正如6月的主題演講中所揭示的,其操作系統中的網絡應用程序體驗將得到改善。加入Apple開發(fā)者計劃以發(fā)送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應用程序頁面添加到主屏幕以融入其中。