低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

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

2018 年 1 月 24 日

看新闻很累?看技术新闻更累?试试下载 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 )关注我们。

2018 年 1 月 24 日 18:009111

评论

发布
暂无评论
发现更多内容

数据提交

hasWhere

ARChatRoom功能介绍手册

anyRTC开发者

音视频 WebRTC 语音 RTC 安卓

一文了解Zookeeper

Java旅途

kafka zookeeper 分布式

基于数组的有界阻塞队列 —— ArrayBlockingQueue

程序员小航

Java 源码 队列 源码阅读 JUC

格式化报文输出

hasWhere

鸿蒙系统究竟是PPT秀还是有真材实料?鸿蒙HarmonyOS开发环境搭建与运行Demo

软测小生

华为 鸿蒙 HarmonyOS

架构师训练营营第 1 期之框架设计02

天行健

架构师训练营第二周作业

zjzj2017

数字货币合约交易所开发源码,永续合约开发app

WX13823153201

数字货币合约交易所开

《我在你床下》观后感

徐说科技

如何避免option请求

hasWhere

架构师训练营学习小结(2020.9.14 - 9.20)

zjzj2017

java安全编码指南之:敏感类的拷贝

程序那些事

Java java安全编码 java安全 java安全编码指南

栈与队列简介

Java旅途

数据结构 队列

onblur调用alert导致的死循环

hasWhere

收款神器!解读聚合收款码背后的原理

楼下小黑哥

学习思路

hasWhere

高难度对话读书笔记—求助的勇气

wo是一棵草

学习路线

hasWhere

LeetCode题解:641. 设计循环双端队列,使用队列,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

ARTS Week11

丽子

TensorFlow 篇 | TensorFlow 2.x 基于 HParams 的超参数调优

Alex

tensorflow keras hparams tensorboard 超参数调优

Redis 缓存性能实践及总结

vivo互联网技术

redis redis集群 redis监控

CICD实战——服务自动构建与部署

TARS基金会

DevOps 后端 jenkins CI/CD TARS

架构师训练营第 1 期 第 2 周作业

李循律

极客大学架构师训练营

Http自定义请求头接收不正确

hasWhere

逼着面试官问了我ArrayList和LinkedList的区别,他对我彻底服了

沉默王二

Java ArrayList linkedlist

架构师训练营学习小结(第二周2020.9.21 - 9.27)

zjzj2017

在多架构时代,英特尔扩展高性能计算边界

intel001

最通俗易懂的——如何将机器学习模型的准确性从80%提高到90%以上

计算机与AI

学习 数据科学

c++ 杂谈3

菜鸟小sailor 🐕

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

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