Categories
程式開發

Bootstrap宣布放棄支持IE,Web開發里程碑時刻?


Bootstrap近日正式官宣將在5.0版本中移除對IE瀏覽器的支持,創始人表示需要滿足IE用戶的開發者可以繼續使用4.0版本。 Bootstrap,可能是首個宣布放棄支持IE的主流框架,這會是前端開發領域的里程碑事件嗎?

Bootstrap 5.0將放棄支持IE

流行開源前端框架Bootstrap近日官宣將放棄對IE瀏覽器的支持。

Bootstrap最初由Twitter團隊編寫,原名Twitter Blueprint,本意是製作一套可以保持一致性的工具和框架。在Bootstrap之前,開發界面需要使用不同的代碼庫,這樣很容易導致不一致的問題,從而增加了維護的負擔。

據了解,全球有超過20%的站點使用Bootstrap框架,目前的穩定版本支持Chrome、Firefox、IE、Opera和Safari等主流瀏覽器。但該團隊已經正式宣布,預計將在今年晚些時候發布的5.0版本中正式移除對IE瀏覽器的支持。

Bootstrap的創始人之一的馬克·奧托(Mark Otto)在GitHub上說,那些仍然需要滿足IE用戶的開發者應該繼續運行Bootstrap 4,而不是升級到即將發布的v5版本。

Bootstrap宣布放棄支持IE,Web開發里程碑時刻? 1

在討論移除IE支持的這個issue下,可以很清晰地看到emoji分佈呈現了壓倒性的正向支持,而在下面的評論區中,也少有表示反對的言論(僅有的幾條還被人懟了)。

但Bootstrap此舉同樣可能帶來一些副作用,作為一個流行的開源前端框架,它還是許多其他Web開發工具、企業建站方案的基礎模塊,一旦選擇升級,它們也將自動失去IE支持。

前端苦IE久矣

有人認為,Bootstrap宣布放棄IE支持是一個里程碑式的事件。 Bootstrap在互聯網站點中所佔的份額之大,注定了其一舉一動都將被業界看在眼裡,目前也並無主流同類型框架做出相似的決定。比如,jQuery這個幾乎佔據75%站點的JavaScript庫目前仍支持IE 9。

Bootstrap打響了主流框架放棄IE支持的第一槍,也許這開始預示著Web開發者們可以脫離IE的苦海了。數據顯示,IE瀏覽器的市場份額目前僅有1%左右,但很多政府、銀行網站仍舊只能兼容IE瀏覽器,這對Web開髮帶來了巨大的困擾:一年IE開發可以獲得三年工作經驗。

InfoQ編譯的《Web開發者的十大噩夢》一文中,就有提到對IE 6的支持是噩夢般的體驗:

開發者花在 IE6 代碼上的時間可能是 Chrome 或 Firefox 的三倍或更多。更令人沮喪的是,網站在 IE6 中運行不會像在新瀏覽器中那樣流暢。有些效果不生效,有些 bug 會一直困擾你,更不用提那些安全問題了。這讓開發者的工作變得非常困難。如果說我有什麼建議,我會建議對那些想要支持 IE6 的項目收取雙倍甚至更高的費用,但即使是這樣,仍然不值得。

此前流行開源組件庫Ant Dsign發布4.0版本,筆者也與其核心作者交流了IE支持的難題:

v3 版本為了兼容舊版 IE,不得不做一些妥協。比如說 flex 佈局不能用,我們就用 float 和 table 來搞;不能用 sticky,Table 為了實現固定列不得不額外再渲染一個 Table 達到固定列的效果。兼容 IE 的難點在於很多行為是非預期的,往往代碼沒有什麼問題,但是頁面渲染就是不正常。對於這種情況,就需要做不少的黑科技。比如說讓組件強制刷新、使用 IE only 的 css hack 等等。此外前面提到的很多 HTML 新特性在 IE 環境下無法使用,只能自行模擬導致嚴重的性能損耗。

除了開發者,來自用戶的吐槽同樣玩出了花,比如這張廣為流傳的諷刺漫畫:

Bootstrap宣布放棄支持IE,Web開發里程碑時刻? 2

故事的最後,微軟也看不下去IE瀏覽器這個扶不起的親生兒子,轉而重新練起了新號——Edge。可這個新號同樣沒能讓微軟滿意,在此前的一次公開活動中,微軟工程師使用Edge卻多次出現瀏覽器崩潰情況,不得不在活動現場安裝Chrome以完成演示。

凡此種種,微軟最終也於2018年12月底決定,新 Edge 將採用 Chromium,瀏覽器市場最終形成實質上的一統天下。

有人說,Chrome一統天下迎合了Web開發走向標準化的強烈需求。也有人說,Chrome成為互聯網的開門人,形成了實質性的壟斷讓人擔憂。對此,各位前端同學又是如何看待呢?