Bootstrap 4正式发布还有意义吗?
历经三年开发,前端框架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正式发布还有意义吗?的更多相关文章
- Bootstrap4 正式发布
历经三年开发,前端框架Bootstrap 4正式发布了.然而今天的Web世界已经和当初Mark Otto发布Bootstrap时的情况大为不同,一些开发者由此质疑它的更新是否还有意义 1.V4版本的主 ...
- Ruby Rails学习中:网站导航,Bootstrap和自定义的CSS,局部视图
添加一些结构 一.网站导航 1.添加一些结构后的网站布局文件 打开文件:app/views/layouts/application.html.erb 简单介绍一下,添加的代码: 我们从上往下看一下这段 ...
- HTML Imports
为什么需要导入? 先想想你在 web 上是如何加载不同类型的资源.对于 JS,我们有 <script src>.<link rel="stylesheet"> ...
- Twitter Bootstrap 3.0 正式发布,更好地支持移动端开发
Twitter Bootstrap 3.0 终于正式发布了.这是一个圆滑的,直观的和强大的移动优先的前端框架,用于更快,更容易的 Web 开发.几乎一切都已经被重新设计和重建,更好的支持移动端设备. ...
- bootstrap栅栏系统css中的col-xs-*、col-sm-*、col-md-* 的意义以及 bootstrap一个标签中,同时有 col-xs , col-sm , col-md , col-lg的理解
摘要: bootstrap栅栏系统css中的col-xs-*.col-sm-*.col-md-* 的意义: .col-xs- 超小屏幕 手机 (<768px) .col-sm- 小屏幕 平板 ( ...
- 利用Bootstrap快速搭建个人响应式主页(附演示+源码)
1.前言 我们每个程序员都渴望搭建自己的技术博客平台与他人进行交流分享,但使用别人的博客模板没有创意.做网站后台的开发人员可能了解前端,可是自己写一个不错的前端还是很费事的.幸好我们有Bootstra ...
- 基于DDDLite的权限管理OpenAuth.net 1.0版正式发布
距离上一篇OpenAuth.net的文章已经有5个多月了,在这段时间里项目得到了很多朋友的认可,开源中国上面的Star数接近300,于是坚定了我做下去的信心.最近稍微清闲点,正式推出1.0版,并在阿里 ...
- bootstrap表格分页
<script src="~/Scripts/jquery.min.js"></script> <script src="~/Scripts ...
- AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布!
文章更新: AppBox v6.0中实现子页面和父页面的复杂交互 AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox ...
随机推荐
- Eclipse Luna在线安装Maven时报错:Java heap space
问题描述: 在线安装Maven插件时发生了:Java heap space 问题截图:
- RedisLive安装
环境安装 Python2.7 [root@ ~]# yum install -y readline readline-devel [root@ ~]# yum install sqlite-devel ...
- Linux学习笔记之yum安装和卸载软件
# yum -y install 包名(支持*) :自动选择y,全自动 # yum install 包名(支持*) :手动选择y or n # yum remove 包名(不支持*) # rpm -i ...
- MySQL实现排名并查询指定用户排名功能
表结构: CREATE TABLE test.testsort ( id ) NOT NULL AUTO_INCREMENT, uid ) COMMENT '用户id', score , ) DEFA ...
- 给PHP开启shmop扩展实现共享内存
在项目开发中,想要实现PHP多个进程之间共享数据的功能,让客户端连接能够共享一个状态,需要开启共享内存函数shmop.如果预期考虑会遇到这方面需求,那么最好在编译PHP的时候添加--with-shmo ...
- paymob QB冲值接口
static string PostPaymob() { string url = "http://www.paymob.cn/getorderinfo/index"; //统一分 ...
- Linux基础笔记—— 走进Linux
走进Linux 操作系统 操作系统是计算机中必不可少的基础系统软件,他的作用是管理和控制计算机系统中的硬件和软件资源,合理有效的组织系统的工作流程,在计算机系统(硬件)与使用者之间提供接口作用. 操作 ...
- php 操作 mysql 数据库常用方法集合
参考: https://www.runoob.com/php/php-pdo.html https://www.cnblogs.com/feng18/p/6523646.html https://bl ...
- Auth组件,Forms组件
一.Auth组件默认auth_user表常用操作 #1.配置settings,使django与数据库连接 DATABASES = { 'default': { 'ENGINE': 'django.db ...
- linux下如何按行将文件切割成多个小文件
答: split -l <行数> <目标文件> <切割后的文件前缀> 举例如下: split -l 1000 jello.txt jello 将jello.txt文 ...