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