1.4 Bootstrap版本变化
了解Bootstrap版本变化的过程,能够更直观地了解Bootstrap在Web开发中的地位和价值。通过其版本演变和功能变化,能够把握未来Web前端开发技术的发展方向。
1.Bootstrap 1
2011年8月,Twitter推出了用于快速搭建Web应用程序的轻量级前端开发工具Bootstrap,该工具由Twitter的设计师Mark Otto和Jacob Thornton合作完成。Bootstrap是一套用于开发Web应用程序,符合HTML和CSS简洁但优美、规范的库。Bootstrap由动态CSS语言LESS写成,在很多方面类似CSS框架Blueprint。经过编译后,Bootstrap就是众多CSS的合集。
Bootstrap的内置样式继承了Mark Otto简洁亮丽的设计风格,便于开发团队快速部署一个外观尚可的Web应用程序。对于普遍缺乏优秀前端开发人员的创业团队来说,在某种程度上Bootstrap可以让他们在没有设计师的情况下完成一个UI较为理想的作品。Bootstrap 1界面如图1-7所示。
图1-7 Bootstrap 1
2.Bootstrap 2
2012年1月,Twitter在开发者博客上公布消息,其6个月前发布的轻量级前端开发工具Bootstrap迎来重大改进,正式升级为Bootstrap 2。和Bootstrap 1一样,Bootstrap 2仍然是一个托管在GitHub上的开源项目。
在开发Bootstrap 2的过程中,Mark Otto参考了不少来自社区的意见并借鉴了自己在Twitter前端重新设计过程中积累的经验。除了增加新样式外,Bootstrap 2修改了一些网页元素的默认样式,除去了上一版本中的几十个bug,同时完善了说明文档。BootStrap 2在原有特性的基础上着重改进了用户的体验和交互性,比如新增加的媒体展示功能,适用于智能手机上多种屏幕规格的响应式布局,另外还新增了12款jQuery插件,可以满足Web页面常用的用户体验和交互功能。
Bootstrap 2的一个重大改进是添加了响应式设计特性,Bootstrap 1中并不支持这一特性,这让很多开发人员不满。为了提供更好地针对移动设备的响应式设计方案,Bootstrap 2采用了更为灵活的12栏栅格布局。此外,它还更新了一些进度栏以及可定制的图片缩略图,并增加了一些新样式。值得关注的是,Bootstrap是一个非常轻量级的框架,Bootstrap 2在压缩后也只有10KB。
Bootstrap 2采用了更灵活也更受欢迎的12栏栅格布局,并以此来实现其各种布局框架;增加了响应式设计,以适应各种移动终端的需求;完善和改进了原有样式库,并提供了更丰富的新样式,包括样式繁多的图标、漂亮易用的进度条等;改进和增加了自定义jQuery插件,完善文档,修复bug,同时还提供了很多基于Bootstrap构建的网站样例。已经使用Bootstrap 1.4的开发者也不用担心,Bootstrap专门提供了从Bootstrap 1.4升级到Bootstrap 2的手工向导可以参考。
Bootstrap 2对现有框架进行了清晰的功能划分,主要分为脚手架(Scaffolding)、基础CSS、构件库和jQuery插件库。
❑Scaffolding主要提供基于网格的各种布局,包括普通栅格系统、嵌入式栅格、固定布局、自适应布局,同时可以自定义网格和布局。Bootstrap 2提供了响应式设计,可以通过单个文件支持各种手持设备,自适应不同的设备和屏幕变化。
❑基础CSS包括各种排版样式(标题、段落、引用块、列表、内联标签等),在代码展示方面提供了基于code标签的内嵌代码,基于pre的块代码和基于Google Prettify的代码样式。此外,提供各种表格、表单、按钮、图标的展示方式。
❑构件库提供了基于按钮、导航、标签、排版、警告、进度栏、图像网格等控件。
❑jQuery插件库则提供了十几种插件实现动态效果,例如模态对话框、下拉项、标签页、工具提示、弹出提示、轮播等,开发者可以根据自己的业务需求使用不同的插件实现各种动态效果。
应用Bootstrap 2的案例有NASA(http://code.nasa.gov/,见图1-8)和MSNBC的BREAKING NEWS(http://www.breakingnews.com/,见图1-9)。
图1-8 Bootstrap 2应用案例(NASA)
Bootstrap 2升级的细节请参考http://twitter.github.io/bootstrap/upgrading.html。
图1-9 Bootstrap 2应用案例(BREAKING NEWS)
3.Bootstrap 3
自2012年12月Bootstrap 2.2.2发布后,开发团队开始将精力放在下一个主要版本Bootstrap 3上。该团队在博客中透露了Bootstrap 3版本的开发计划(http://blog.getbootstrap.com/2012/12/10/bootstrap-3-plans/)。
Bootstrap 3将主要致力于对之前版本的改善,将放弃一些旧代码,改善CSS的响应速度,并整合了社区所作出的努力。该版本的开发计划如下:
❑将twitter/bootstrap、twitter/bootstrap-server和mdo/bootstrap-blog(一个私有库)迁移到twbs。
❑更改网站URL 为http://getbootstrap.com,之前为跳转URL。
❑将所有LESS代码(包括响应样式)编译到一个单独的CSS文件中。
❑完全放弃对IE7、Firefox 3.x的支持。
❑使用@font-face版本的Glyphicons图标,代替先前的PNG图标。
❑采用MIT许可证,代替先前的Apache许可证。
❑放弃*-wip分支样式的开发。
❑使用tag下载所有版本,开发工作使用更小的功能分支,并在Bootstrap 3发布后合并到主分支。
2013年3月,Bootstrap发布了最新的预览版本,标签为Bootstrap 3,这是它的第三个主要发行版本。该版本的主要更新(https://github.com/twitter/bootstrap/pull/6342)与开发计划基本一致,只是还改进了响应式CSS,集中了来自社区的贡献。
这只是预览版本,到Bootstrap 3正式版发布时还会有更多的改进。该版本被标签为“移动优先”,因为进行了完全重写以更好地适应手机浏览器。移动的风格可直接从库中感受到。
其他的改变还包括转换文档到Jekyll替代Mustache,重做插图,更新支持Retina的示例截图,重新设计图标预览,更新所有示例以演示新的改进,通过插件改进noConflict等。此外,Bootstrap 3还包含一些其他重要的改进。
Bootstrap 3包含大量新特性,这将需要很长时间来开发,不过可以先从该版本开始测试。完整的介绍内容参见https://github.com/twitter/bootstrap/pull/6342。
读者可以从以下网址获取Bootstrap 3预览版本:https://github.com/twitter/bootstrap/tree/3.0.0-wip。