Bootstrap 曾经风头无两,是人们入门前端的首选 CSS 框架,很多写后端的程序员的 side project 也经常使用它来搭建项目主页、demo 等等。
历经三年开发,前端框架 Bootstrap 4 正式发布了。然而今天的 Web 世界已经和当初 Mark Otto 发布 Bootstrap 时的情况大为不同,一些开发者由此质疑它的更新是否还有意义。
V4 版本的主要更新有:
改进的网格系统(默认情况下为 Flexbox)
现在使用 Sass(取代了 Less)
不支持 IE8、IE9 和 iOS 6
重写 JavaScript 插件
现在使用 rem 取代了 px。
准备从 V3 版本升级的开发人员需要先做测试,可能还要解决一些问题。新版整体上和旧版接近,但多了一些突破性的变化。下面的迁移指南列出了变化内容的详情:
https://getbootstrap.com/docs/4.0/migration/#by-component
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 控件)仍是首选的框架。
「前端之巅」是 InfoQ 旗下关注前端技术的垂直社群,加入前端之巅学习群请关注「前端之巅」公众号后回复 “ 加群 ”。投稿请发邮件到 editors@cn.infoq.com,注明 “ 前端之巅投稿 ”。
活动推荐:
随着手机配置越来越高,移动浏览器的功能越来越强大,前端可做的事情越来越多,想象力和空间越来越大。QCon 北京 2018,与淘宝高级技术专家寒冬、新浪微博技术专家聂永、百度资深前端工程师彭星等技术大咖探索前端技术实践,以及实践中的思考和经验参考。目前大会 8 折报名中,立减 1360 元。有任何问题可咨询购票经理 Hanna,电话:15110019061,微信:qcon-0410。