IT之家 6 月 22 日消息,據(jù) Apple Insider 報(bào)道,在 WWDC22 主題演講中,蘋果宣布了 Web 推送新服務(wù),將改進(jìn)來自 Web 應(yīng)用程序的通知。但回顧過去蘋果在 Web 技術(shù)方面總是有自己的想法。
在 iPhone 誕生之初,蘋果創(chuàng)始人史蒂夫?喬布斯反對在設(shè)備上運(yùn)行第三方應(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 時(shí),包含了 WKWebView,這是新的瀏覽器引擎,可以讓混合應(yīng)用程序和原生應(yīng)用程序一樣運(yùn)行。
喬布斯同意將 HTML5 作為 Adobe Flash 的替代品。當(dāng)他在 2010 年撰寫“Thoughts on Flash”時(shí),他贊揚(yáng)了 Netflix 和 YouTube 等公司轉(zhuǎn)向 HTML5 視頻內(nèi)容的做法。
蘋果還鼓勵使用 iOS 13 上的 Web 應(yīng)用程序,從 App Store 中清除了低質(zhì)量的應(yīng)用程序,并表示某些特性和功能最好通過 Safari 瀏覽器提供。
批評者的主要指責(zé)是,蘋果將用戶從 Web 應(yīng)用程序推向支持本地應(yīng)用程序和規(guī)則的 App Store 應(yīng)用商店。
在 2008 年推出時(shí),蘋果對在 App Store 平臺上發(fā)布的應(yīng)用程序收取 30% 的費(fèi)用。喬布斯稱贊了原生應(yīng)用程序,并表示它們比基于 Web 的應(yīng)用更好。
一直以來這都是訴訟的主題,但并不是應(yīng)用程序爭論的唯一方面。Telegram Web 開發(fā)者在今年 4 月分享了 iOS Safari 瀏覽器的 10 個(gè)列表問題后,Telegram 創(chuàng)始人 Pavel Durov 就此事寫了一篇帖子。
Pavel Durov 的貼子于 6 月 13 日發(fā)表,稱英國監(jiān)管機(jī)構(gòu)競爭與市場管理局 (CMA) 的評論提供了“準(zhǔn)確的總結(jié)”。
英國 CMA 對蘋果移動生態(tài)系統(tǒng)進(jìn)行了長達(dá)一年的研究,其對 iOS 上的瀏覽器表示擔(dān)憂,這是關(guān)于應(yīng)用程序爭論的另一個(gè)方面。
蘋果禁止第三方瀏覽器引擎,因此 iOS 和 iPadOS 上的各個(gè)瀏覽器都是基于蘋果公司的 WebKit 引擎構(gòu)建的。因此,英國 CMA 表示,蘋果公司幾乎沒有動力去改進(jìn) WebKit 引擎,從而扼殺了消費(fèi)者和企業(yè)。
蘋果的目標(biāo)是抵御競爭對手,例如谷歌的 Blink 瀏覽器引擎,它是開源 Chromium 項(xiàng)目的一部分,其既定使命是讓 Web 成為訪問信息的焦點(diǎn)。
谷歌 Chrome 瀏覽器在除 iOS 之外的所有平臺上都使用 Blink 引擎。iOS 版本的 Chrome 使用 WebKit 引擎,這意味著谷歌一直在被迫追趕蘋果。
WebKit 也是開源的,該項(xiàng)目旨在作為瀏覽器和應(yīng)用程序的通用內(nèi)容引擎。有消息稱,蘋果認(rèn)為瀏覽器應(yīng)該堅(jiān)持顯示內(nèi)容而不是運(yùn)行應(yīng)用程序。
但開發(fā)人員想要 Web 應(yīng)用程序,因?yàn)樗鼈兛梢栽谌魏纹脚_上運(yùn)行,而不受應(yīng)用商店的規(guī)則和限制。
蘋果改變了想法,目前正在推進(jìn),盡管速度很緩慢。正如今年 6 月的 WWDC 主題演講中所揭示的,蘋果操作系統(tǒng)中的 Web 應(yīng)用程序體驗(yàn)將得到改善。
而且,加入蘋果開發(fā)者計(jì)劃來發(fā)送 Web 推送通知并不是必需條件。
Web 推送
該功能要到 2023 年才會出現(xiàn),它由 Push API、Notifications API 和 Service Worker 組成。
Service Worker 是一段代表 Web 域運(yùn)行的 JavaScript 代碼,該 Web 域與打開的瀏覽器選項(xiàng)卡分離。
未經(jīng)用戶許可,網(wǎng)站不得推送通知。網(wǎng)站只能請求推送訂閱以響應(yīng)鼠標(biāo)點(diǎn)擊或擊鍵。
用戶可以單擊“訂閱”按鈕,然后在出現(xiàn)的權(quán)限對話框中單擊“允許”。網(wǎng)站的通知開關(guān)將在設(shè)備設(shè)置中找到,就像原生應(yīng)用程序一樣。
Push API 使用一個(gè) JavaScript 接口,允許網(wǎng)站使用推送訂閱。ServiceWorker API 支持推送消息,而 Notifications API 允許 service worker 推送通知,而無需打開瀏覽器。
在 macOS 13 Ventura 中,可安裝 webpushd 新程序作為 LaunchAgent。它接收來自網(wǎng)頁的推送訂閱請求,并使用蘋果推送通知服務(wù)將它們轉(zhuǎn)換為推送訂閱。
結(jié)果顯示,Web 應(yīng)用程序會感覺更接近原生應(yīng)用程序。使用 Safari 中的共享菜單,用戶可以將 Web 應(yīng)用程序頁面添加到主屏幕以融入其中。
蘋果正在改進(jìn) Web 應(yīng)用程序,可能想通過這種方式,來安撫開發(fā)者或監(jiān)管者對其嚴(yán)格控制 App Store 的過度關(guān)注。蘋果公司還可能將這些 Web 應(yīng)用程序作為二級生態(tài)系統(tǒng)采用,但仍不想被迫開放 iPhone 側(cè)載原生 App。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。