1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        下一個(gè) IE?Safari 瀏覽器正在殺死 Web

        共 3895字,需瀏覽 8分鐘

         ·

        2021-11-09 02:58

        點(diǎn)擊關(guān)注公眾號,Java干貨及時(shí)送達(dá)

        粉絲福利:小編會從今天留言的小伙伴中隨機(jī)抽贈(zèng)送8.88元現(xiàn)金紅包。娛樂抽獎(jiǎng),大家隨緣積極參與啦,給生活一點(diǎn)小幸運(yùn)~感謝大家的支持
        來源:InfoQ,作者:Scott Gilbertson,編譯:核子可樂、燕珊

        蘋果的 Safari 瀏覽器在支持 Web 功能方面遠(yuǎn)遠(yuǎn)落后于其他競爭對手,它或許會成為下一個(gè) IE。

        時(shí)至今日,IE 6 的種種遺留問題仍然困擾著不少 Web 開發(fā)人員。這款雖然經(jīng)典但卻毛病多多的瀏覽器大大降低了開發(fā)者的生活質(zhì)量,甚至有激進(jìn)的觀點(diǎn)認(rèn)為它幾乎毀掉了整個(gè)互聯(lián)網(wǎng)??傊琁E 真的很差勁,它相當(dāng)于是逼著 Web 開發(fā)者在冰天雪地中爬坡前行……經(jīng)歷過的估計(jì)都懂。

        但就算沒經(jīng)歷過那個(gè)時(shí)代,如今的 Web API 開發(fā)人員也面臨著類似的難題——只不過這一次,難題來自蘋果。

        蘋果的 Safari 瀏覽器在支持 Web 功能方面遠(yuǎn)遠(yuǎn)落后于其他競爭對手,這種落后到底達(dá)沒達(dá)到當(dāng)初 IE 的“高度”仍有爭議,但不少人已經(jīng)把 Safari 視為 IE“精神”留下的現(xiàn)實(shí)映射。而且可以肯定的是,Safari 當(dāng)中的 WebKit 引擎確實(shí)遠(yuǎn)不及其他瀏覽器方案。

        根據(jù) Web Platform Tests 公布的儀表板,基于 Chrome 的瀏覽器能夠支持 94% 的測試套件、Firefox 支持 91%,而 Safari 僅支持 71%。在桌面端,問題似乎不大;畢竟用戶可以隨時(shí)切換到最經(jīng)典的谷歌 Chrome(甚至 Vivaldi)。

        但是,在 iOS 設(shè)備上,情況就沒那么簡單了。

        iOS 對于瀏覽器的壟斷

        根據(jù)蘋果 App Store 中發(fā)布的規(guī)定,“用于瀏覽網(wǎng)頁的應(yīng)用必須使用適當(dāng)?shù)?WebKit 框架與 WebKit JavaScript?!睋Q句話說,無論選擇 Safari 還是 Chrome,iPhone 用戶們實(shí)際上使用的都是 Safari/WebKit 這對弱智組合。

        蘋果在 iOS 上壟斷了瀏覽器選擇權(quán),這是微軟在 IE 身上永遠(yuǎn)沒能實(shí)現(xiàn)的終極目標(biāo)。在 Windows 中,用戶至少還可以安裝 Firefox。但即使在 iOS 上使用其他瀏覽器、包括 Firefox,我們用到的在本質(zhì)上也仍然是 WebKit。或者說,只要大家選擇了 iOS 設(shè)備,那么 Safari 就將永遠(yuǎn)伴你左右。

        而真正讓 Web 開發(fā)者們頭疼的,則是蘋果緩慢的開發(fā)周期。蘋果最快也要每六個(gè)月左右才更新一次 Safari。而基于 Blink 的 Chrome 系瀏覽器則每六周更新一次(很快將進(jìn)一步縮短為每四周更新),F(xiàn)irefox 每四周更新一次,Brave 甚至每三周就迎來一波更新。如此一來,蘋果不僅是添加新功能的速度太慢,這樣的開發(fā)周期也讓簡單的 bug 修復(fù)成果得等上好久才能正式登陸用戶設(shè)備,而某些受到 Safari bug 影響的網(wǎng)站可能需要等待一年才能解決問題。

        再深入觀察,我們會發(fā)現(xiàn) Web Platform Tests 數(shù)據(jù)還暴露出 Safari 的另一大短板——即使 WebKit 能夠?qū)崿F(xiàn)某項(xiàng)功能,其效果也往往不夠完整。以漸進(jìn)式 Web 應(yīng)用程序(PWA)為例,其目標(biāo)是希望能讓 Web 應(yīng)用的使用體驗(yàn)無限接近于原生移動(dòng)應(yīng)用。

        用于構(gòu)建 PWA 的相關(guān) API 可以實(shí)現(xiàn)全屏運(yùn)行(無瀏覽器 UI)、發(fā)送通知與警報(bào)、離線狀態(tài)運(yùn)行以及通過主屏幕圖標(biāo)啟動(dòng)等等。目前最具知名度的 PWA 案例當(dāng)數(shù) Twitter 與 Uber。

        蘋果已經(jīng)為開發(fā)人員實(shí)現(xiàn)了構(gòu)建 PWA 所需要的大部分功能,但其中仍有著不少局限性。比如蘋果還沒添加對發(fā)送通知和主屏幕應(yīng)用圖標(biāo)的支持,因此本質(zhì)上可以說 Safari 還沒有實(shí)現(xiàn)某些真正能讓網(wǎng)站用起來像原生應(yīng)用的核心功能。

        也正是因?yàn)樘O果這種故意削弱 WebKit 來護(hù)著自家 App Store 業(yè)務(wù)的行為,引發(fā)了開發(fā)領(lǐng)域的激烈爭論。因?yàn)槿绻O果老老實(shí)實(shí)推出所有支持功能,開發(fā)者就能構(gòu)建起更好的 Web 應(yīng)用,那到時(shí)候沒人買原生應(yīng)用了怎么辦……蘋果在 iOS App Store 中可是擁有 30% 的傭金抽成。

        熱衷于做 Web 應(yīng)用的開發(fā)者們對上述問題自然是非常關(guān)心的,但蘋果則不然——他們是世界上財(cái)力最雄厚的企業(yè)之一,并不擔(dān)心自己的倒行逆施行為會惹惱 Web 開發(fā)者群體。更重要的是,蘋果在保護(hù)自身利益的同時(shí),還把新 API 支持功能的缺失解釋成保護(hù)用戶隱私……打著這面大旗,其他人也確實(shí)不好多說什么。

        Safari 真的在拯救 Web 嗎?

        Safari 的支持者以及蘋果本身都堅(jiān)定認(rèn)為,之所以不支持那些新型 API,是為了避免開發(fā)者訪問用戶的 USB 端口、藍(lán)牙裝置、電池狀態(tài)及 NFC 傳感器等,進(jìn)而導(dǎo)致廣告商利用這些信息不斷侵蝕本已很脆弱的互聯(lián)網(wǎng)隱私。就算不擔(dān)心隱私,這些 API 也會減弱手機(jī)的電池續(xù)航能力。

        我本人并不是 iOS 用戶,但蘋果在隱私問題上的堅(jiān)定立場確實(shí)讓我相當(dāng)心動(dòng)。

        我承認(rèn),我非常討厭現(xiàn)代網(wǎng)絡(luò),但我對隱私問題也不太擔(dān)心,畢竟使用移動(dòng)設(shè)備本身就代表著與隱私的背離。 我重視隱私,但如今網(wǎng)站可靠性低、速度慢而且對用戶抱有敵意等整體趨勢已經(jīng)讓這種重視毫無意義。

        我非常不喜歡 JavaScript 驅(qū)動(dòng)的 Web API 所帶來的體驗(yàn),所以已經(jīng)開始在瀏覽過程中禁用 JavaScript,這樣網(wǎng)絡(luò)能瞬間恢復(fù)最初漂亮、簡潔的狀態(tài),而蘋果肯定特別欣賞我這樣的用戶。我用過很多無需 JavaScript 即可加載的網(wǎng)站,而且堅(jiān)決不碰那些強(qiáng)制要求使用 JavaScript 的站點(diǎn)。沒錯(cuò),既然 Invidious(YouTube 的開源前端替代產(chǎn)品)都能在無需 JavaScript 的前提下加載 YouTube 內(nèi)容,為什么 YouTube 自己不行?我不在乎具體理由,但寫了個(gè)腳本保證自己總會被重新定向至 Invidious 或者 PeerTube。

        我想說的是,在這個(gè)問題上我是支持蘋果的;但我也承認(rèn),蘋果這種 Safari 落后性源自保護(hù)用戶隱私的說法壓根站不住腳。雖然我覺得蘋果不會非常擔(dān)心 Web 開發(fā)者能損害到 App Store 的根本利益,但其中的種種負(fù)面可能性也確實(shí)不得不防。于是,蘋果出于利益做出了選擇,再把它強(qiáng)行解釋成是在保護(hù)用戶隱私。

        這些新 API 正在快速入駐其他瀏覽器,所以在一段時(shí)間之后,微軟 IE 當(dāng)初的慘劇估計(jì)會重新上演。而大家也都清楚故事的結(jié)局:微軟輸了,其他瀏覽器都在快速發(fā)展,只有微軟 IE 徹底無人問津。

        如果蘋果也沿著這條路走下去,那他們不僅會輸、甚至可能拖著整個(gè) Web 一起陷落。因?yàn)樘O果支持者們有一點(diǎn)是對的:如果蘋果愿意接受谷歌 Blink 的主宰,那其他競爭廠商也只能服從。

        那這位新“主宰者”的能力究竟如何?Web 開發(fā)者 Tim Perry 最近寫了一篇名為《Safari 不是在保護(hù) Web, 而是正殺死它》的文章,他表示,過去每種瀏覽器都會提供自己的擴(kuò)展 API。但如今,“Chrome 已經(jīng)深入人心,他們不斷提供更強(qiáng)大、更易于使用的擴(kuò)展 API,人氣也一路水漲船高。而 Firefox 與 Safari,它們放棄了自有 API,轉(zhuǎn)而接納 Chrome 的 API。這相當(dāng)于允許谷歌憑一己之力塑造 Web 擴(kuò)展標(biāo)準(zhǔn)。”是的,當(dāng)沒人敢站出來對抗市場領(lǐng)導(dǎo)者時(shí),就會發(fā)生這種情況。“如果情況沒有大的變動(dòng),那么谷歌的主宰之勢將愈演愈烈。這絕不是什么好消息?!?/span>

        寫在最后

        必須有人站出來阻擋谷歌和 Blink 瘋狂的擴(kuò)張腳步,確保不斷涌現(xiàn)的 API 真能給 Web 用戶帶來助益。這一點(diǎn)對蘋果用戶很重要,對谷歌用戶乃至 Web 開發(fā)者也同樣重要。

        大部分現(xiàn)代 Web 功能的開發(fā)是悄然進(jìn)行的,期間鮮有爭論。Blink 開發(fā)者會在 Chrome 當(dāng)中以開發(fā)者標(biāo)記的形式發(fā)布這些新功能。這已經(jīng)成為一種共識和習(xí)慣,再要辯論或調(diào)整恐怕已經(jīng)非常困難。

        我倒不是說蘋果的動(dòng)機(jī)就真有多高尚,但他們對 Safari 的堅(jiān)持至少還能逼迫谷歌在統(tǒng)一 Web 標(biāo)準(zhǔn)流程的霸業(yè)上放緩腳步……但蘋果方面也得做出改變,否則 Safari 有可能步 IE 的后塵。

        我的這些想法可能太過理想,但正如 Web 倡導(dǎo)者(前 Opera 布道師)Bruce Lawson 所言,“如果蘋果允許 Safari 真正參與競爭,對于 Web 開發(fā)者、企業(yè)、消費(fèi)者乃至整個(gè) Web 領(lǐng)域的健康狀況都將是個(gè)好消息?!?/span>

        如果蘋果能夠調(diào)整功能開發(fā)當(dāng)中的透明度(減少)與加快響應(yīng)速度,那它一定可以更多地在新 API 的發(fā)展中發(fā)揮作用。而且如果蘋果真的擔(dān)心 API 影響到用戶隱私,就該用行動(dòng)捍衛(wèi)自己的觀點(diǎn)、反擊谷歌、拿出一套有競爭力的 Chrome 替代品。這可能不容易,但卻是今后 Web 還能健康發(fā)展的唯一希望。


        1、致歉!抖音Semi Design承認(rèn)參考阿里Ant Design

        2、對比7種分布式事務(wù)方案,還是偏愛阿里開源的Seata,真香!

        3、Redis存儲結(jié)構(gòu)體信息,選hash還是string?

        4、掃盲 docker 常用命令

        5、最全分布式Session解決方案

        6、21 款 yyds 的 IDEA插件

        7、真香!用 IDEA 神器看源碼,效率真高!

        點(diǎn)分享

        點(diǎn)收藏

        點(diǎn)點(diǎn)贊

        點(diǎn)在看

        瀏覽 51
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日批视频 | 91美女在线观看 | 我要日逼网 | 日日夜夜三级片 | 真实国产亂伦免费看国产精品大黄 | 欧美做爱视频在线 | 亚洲色无码A片一区二小说 | jizzjizz少妇亚洲水多 | 国产偷v国产偷v精品视频 | 国产操操操 |