Bootstrap (front-end framework)

Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS- and (optionally) JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.

Bootstrap
Original author(s)Mark Otto, Jacob Thornton
Developer(s)Bootstrap Core Team
Initial releaseAugust 19, 2011 (2011-08-19)
Stable release
4.5.0 / May 12, 2020 (2020-05-12)[1]
RepositoryBootstrap Repository
Written inHTML, CSS, Less (v3), Sass (v4) and JavaScript
PlatformWeb platform
LicenseMIT License (Apache License 2.0 prior to 3.1.0)
Websitegetbootstrap.com 

Bootstrap is the seventh-most-starred project on GitHub, with more than 142,000 stars, behind freeCodeCamp (almost 312,000 stars) and marginally behind Vue.js framework.[2] According to Alexa Rank, Bootstrap is in the top-2000 in the USA while vuejs.org is in the top-7000 in the USA.[3]

History

Early beginnings

Bootstrap, originally named Twitter Blueprint, was developed by Mark Otto and Jacob Thornton at Twitter as a framework to encourage consistency across internal tools. Before Bootstrap, various libraries were used for interface development, which led to inconsistencies and a high maintenance burden. According to Twitter developer Mark Otto:

A super small group of developers and I got together to design and build a new internal tool and saw an opportunity to do something more. Through that process, we saw ourselves build something much more substantial than another internal tool. Months later, we ended up with an early version of Bootstrap as a way to document and share common design patterns and assets within the company.[4]

After a few months of development by a small group, many developers at Twitter began to contribute to the project as a part of Hack Week, a hackathon-style week for the Twitter development team. It was renamed from Twitter Blueprint to Bootstrap, and released as an open source project on August 19, 2011.[5] It has continued to be maintained by Mark Otto, Jacob Thornton, and a small group of core developers, as well as a large community of contributors.[6]

Bootstrap 2 and 3

On January 31, 2012, Bootstrap 2 was released, which added built-in support for Glyphicons, several new components, as well as changes to many of the existing components. This version supports responsive web design, meaning the layout of web pages adjusts dynamically, taking into account the characteristics of the device used (whether desktop, tablet, or mobile phone).[7]

The next major version, Bootstrap 3, was released on August 19, 2013. It redesigned components to use flat design and a mobile first approach.[8]

Bootstrap 4

Mark Otto announced Bootstrap 4 on October 29, 2014.[9] The first alpha version of Bootstrap 4 was released on August 19, 2015.[10] The first beta version was released on 10 August 2017.[11] Mark suspended work on Bootstrap 3 on September 6, 2016, to free up time to work on Bootstrap 4. Bootstrap 4 was finalized on January 18, 2018.[12]

Significant changes include:

  • Major rewrite of the code
  • Replacing Less with Sass
  • Addition of Reboot, a collection of element-specific CSS changes in a single file, based on Normalize
  • Dropping support for IE8, IE9, and iOS 6
  • CSS Flexible Box support
  • Adding navigation customization options
  • Adding responsive spacing and sizing utilities
  • Switching from the pixels unit in CSS to root ems
  • Increasing global font size from 14px to 16px
  • Dropping the panel, thumbnail, pager, and well components
  • Dropping the Glyphicons icon font
  • Huge number of utility classes
  • Improved form styling, buttons, drop-down menus, media objects and image classes

Bootstrap 4 supports the latest versions of the Google Chrome, Firefox, Internet Explorer, Opera, and Safari (except on Windows). It additionally supports back to IE9 and the latest Firefox Extended Support Release (ESR).[13]

Bootstrap 5 Alpha

Bootstrap 5 Alpha was officially released on 16 Jun 2020,[14] although an experimental version of the package, created by Material Design for Bootstrap based on a developer version of the Alpha already surfaced the web weeks before.[15]

Version 5 Alpha is currently the latest version of the package.

Major changes include:[16][17][18][19]

  • Dropping jQuery in favor of vanilla JavaScript
  • Rewriting the grid to support columns placed outside of rows and responsive gutters
  • Migrating the documentation from Jekyll to Hugo
  • Dropping support for IE10 and IE11
  • Moving testing infrastructure from QUnit to Jasmine
  • Adding custom set of SVG icons
  • Adding CSS custom properties
  • Improved API
  • Enhanced grid system
  • Improved customizing docs
  • Updated forms

Changes that are coming soon:[20]

  • RTL support
  • Implementing an offcanvas menu

Changes that are being evaluated:[21]

  • Sass module system
  • Increased usage of CSS custom properties
  • Embedding SVGs in HTML instead of CSS

First use cases:

First use cases of Bootstrap v.5 Alpa appeared only days after the official launch, the most prominent include:

  • MDB 5 - Material Design UI Kit for Bootstrap 5[22]

Features

Bootstrap is a web framework that focuses on simplifying the development of informative web pages (as opposed to web apps). The primary purpose of adding it to a web project is to apply Bootstrap's choices of color, size, font and layout to that project. As such, the primary factor is whether the developers in charge find those choices to their liking. Once added to a project, Bootstrap provides basic style definitions for all HTML elements. The result is a uniform appearance for prose, tables and form elements across web browsers. In addition, developers can take advantage of CSS classes defined in Bootstrap to further customize the appearance of their contents. For example, Bootstrap has provisioned for light- and dark-colored tables, page headings, more prominent pull quotes, and text with a highlight.

Bootstrap also comes with several JavaScript components in the form of jQuery plugins. They provide additional user interface elements such as dialog boxes, tooltips, and carousels. Each Bootstrap component consists of an HTML structure, CSS declarations, and in some cases accompanying JavaScript code. They also extend the functionality of some existing interface elements, including for example an auto-complete function for input fields.

Example of a webpage using Bootstrap framework rendered in Firefox

The most prominent components of Bootstrap are its layout components, as they affect an entire web page. The basic layout component is called "Container", as every other element in the page is placed in it. Developers can choose between a fixed-width container and a fluid-width container. While the latter always fills the width of the web page, the former uses one of the four predefined fixed widths, depending on the size of the screen showing the page:

  • Smaller than 576 pixels
  • 576–768 pixels
  • 768–992 pixels
  • 992–1200 pixels
  • Larger than 1200 pixels

Once a container is in place, other Bootstrap layout components implement a CSS Flexbox layout through defining rows and columns.

A precompiled version of Bootstrap is available in the form of one CSS file and three JavaScript files that can be readily added to any project. The raw form of Bootstrap, however, enables developers to implement further customization and size optimizations. This raw form is modular, meaning that the developer can remove unneeded components, apply a theme and modify the uncompiled Sass files.

See also

References

  1. "Releases - twbs/bootstrap". Retrieved 12 May 2020.
  2. "Search · stars:>1". GitHub. Retrieved November 14, 2018.
  3. "Website Traffic, Statistics and Analytics - Alexa". www.alexa.com. Retrieved 2019-03-22.
  4. Otto, Mark (January 17, 2012). "Bootstrap in A List Apart No. 342". Mark Otto's blog. Archived from the original on October 28, 2016. Retrieved February 23, 2017.
  5. Otto, Mark (August 19, 2011). "Bootstrap from Twitter". Developer Blog. Twitter. Archived from the original on February 23, 2017. Retrieved February 23, 2017.
  6. "About". Bootstrap. Retrieved February 23, 2017.
  7. Otto, Mark (January 27, 2020). "Responsive Web Design". DesignHub4U.
  8. Otto, Mark (August 19, 2013). "Bootstrap 3 released". Archived from the original on October 21, 2016. Retrieved February 23, 2017.
  9. Otto, Mark (October 29, 2014). "Bootstrap 3.3.0 released". Archived from the original on July 24, 2016. Retrieved February 23, 2017.
  10. Otto, Mark (August 19, 2015). "Bootstrap 4 alpha". Archived from the original on January 23, 2017. Retrieved February 23, 2017.
  11. Otto, Mark; Thornton, Jacob (2017-08-10). "Bootstrap 4 Beta". Retrieved 2017-08-16.
  12. contributors, Mark Otto, Jacob Thornton, and Bootstrap (18 January 2018). "Bootstrap 4". blog.getbootstrap.com. Retrieved 2018-03-16.
  13. "Supported browsers". Bootstrap. Retrieved February 23, 2017.
  14. "Bootstrap 5 Alpha". Developer Blog. June 22, 2020.
  15. "Bootstrap 5 Experimental". MDBootstrap.com. June 22, 2020.
  16. contributors, Mark Otto, Jacob Thornton, and Bootstrap (2018-12-21). "Bootstrap 4.2.1". Bootstrap Blog. Retrieved 2019-03-22.
  17. contributors, Mark Otto, Jacob Thornton, and Bootstrap (2019-02-11). "Bootstrap 4.3.0". Bootstrap Blog. Retrieved 2019-09-29.
  18. "Bootstrap 5 grid by MartijnCuppens · Pull Request #28517 · twbs/bootstrap". GitHub. Retrieved 2019-09-29.
  19. "v5: drop Internet Explorer support by XhmikosR · Pull Request #30377 · twbs/bootstrap". GitHub. Retrieved 2020-04-07.
  20. "Bootstrap 5 Alpha". Developer Blog. June 22, 2020.
  21. "Bootstrap 5 Alpha". Developer Blog. June 22, 2020.
  22. "Bootstrap 5 Material Design". MDBootstrap.com. June 22, 2020.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.