歷經三年開發,前端框架Bootstrap 4正式發布了。然而今天的Web世界已經和當初Mark Otto發布Bootstrap時的情況大為不同,一些開發者由此質疑它的更新是否還有意義。
V4版本的主要更新有:
改進的網格系統(默認情況下為Flexbox) 現在使用Sass(取代了Less) 不支持IE8、IE9和iOS 6 重寫JavaScript插件 現在使用rem取代了px。準備從V3版本升級的開發人員需要先做測試,可能還要解決一些問題。新版整體上和舊版接近,但多了一些突破性的變化。一份遷移指南列出了變化內容的詳情。
Bootstrap的優勢之一是其網格系統。這一系統為網頁提供了一種可聲明的方式來渲染網格系統中的內容,不需要額外的步驟就能使流式內容兼容桌面端和移動端。Bootstrap 4的網格系統使用的是幾乎所有的現代瀏覽器都支持的flexbox。因為引入了這一更新等原因,新版只支持IE10 以上和iOS7 以上。如果項目仍需兼容舊式瀏覽器,開發人員就要繼續使用Bootstrap 3。但是,Bootstrap 3的維護已經在2016年結束了。
Bootstrap最初于2011年發布,當初是作為Twitter的一個產品誕生的,號稱是“世界上最流行的HTML、CSS和JS庫”,但其增長趨勢如今似乎已經到頭了。Dan Tao等人曾批評Boostrap的緊耦合和缺乏語義的缺陷:
最早看來很棒的一堆開發組件,如今演變成了堆積如山的技術債務。開發者的HTML充斥著帶有Bootstrap特定屬性的深度嵌套結構。
V4的第一個alpha版本發布于2015年8月,兩年后發布了第一個beta版本。但Bootstrap 4是否生不逢時?它的網格系統是最大的賣點之一,但主流瀏覽器普遍采用CSS 網格,意味著Bootstrap 4新引入的,基于flexbox的網格已經過時了。
Natalya Shelburne是紐約時報的一位軟件工程師,她認為CSS網格才是未來:
CSS網格不是什么黑客工具,它是一個很好的web布局工具。什么都不用安裝,也不需要預處理器,更用不著為了理解它的運作機制而絞盡腦汁。
此外,Ryan Oglesby則認為,使用基于組件的樣式技術(如經常與React或Vue.js一起使用的技術),就不需要傳統的“全局CSS”技術了:
在React或Vue.js等UI庫的幫助下,現代Web應用程序體系結構已經采用了松耦合,高內聚的組件,這些組件通常將HTML,CSS和JavaScript放在同一個文件中。
當然,如果開發者想要做一些美觀漂亮、運行迅速的內容,Bootstrap的JavaScript插件(比如Popover和Form控件)仍是首選的框架。
查看英文原文:Bootstrap 4 Released, But It May Be Unnecessary
感謝冬雨對本文的審校。