Bootstrap 4 正式发布,却可能生不逢时

  • David Iffland
  • 王强

2018 年 1 月 24 日

话题:JavaScriptHTML5语言 & 开发

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

历经三年开发,前端框架 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


感谢冬雨对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

JavaScriptHTML5语言 & 开发