Bootstrap (front-end framework)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Bootstrap
Boostrap logo.svg
Original author(s) Mark Otto, Jacob Thornton
Developer(s) Bootstrap Core Team
Initial release August 19, 2011; 6 years ago (2011-08-19)
Stable release
3.3.7 / July 25, 2016; 16 months ago (2016-07-25)[1]
Preview release
4.0.0-beta.2 / October 19, 2017; 57 days ago (2017-10-19)[2]
Repository github.com/twbs/bootstrap
Development status Active
Written in HTML, CSS, Less (v3), Sass (v4) and JavaScript
Platform Web engines
License MIT License (Apache License 2.0 prior to 3.1.0)
Website getbootstrap.com

Bootstrap is a free and open-source front-end web framework for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions. Unlike many web frameworks, it concerns itself with front-end development only.

Bootstrap is the second most-starred project on GitHub, with more than 111,600 stars and 51,500 forks.[3]

Origins[edit]

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]

On January 31, 2012, Bootstrap 2 was released, which added a twelve-column responsive grid layout system, inbuilt support for Glyphicons, several new components, as well as changes to many of the existing components.[7]

On August 19, 2013, Bootstrap 3 was released, which redesigned components to use flat design, and a mobile first approach.[8]

On October 29, 2014, Mark Otto announced that Bootstrap 4 was in development,[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]

Features[edit]

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

Since 2.0, Bootstrap supports responsive web design. This means the layout of web pages adjusts dynamically, taking into account the characteristics of the device used (desktop, tablet, mobile phone).

Starting with version 3.0, Bootstrap adopted a mobile-first design philosophy, emphasizing responsive design by default.

The version 4.0 alpha release added Sass and flexbox support.[10]

Structure and function[edit]

Example of a webpage using Bootstrap framework
Example of a webpage using Bootstrap framework rendered in Mozilla Firefox

Bootstrap is modular and consists of a series of Less stylesheets that implement the various components of the toolkit, these stylesheets are generally compiled into a bundle and included in web pages, but individual components can be included or removed. Bootstrap provides a number of configuration variables that control things such as color and padding of various components.

Since Bootstrap 2, the Bootstrap documentation has included a customization wizard which generates a customized version of Bootstrap based on the requested components and various settings.

As of Bootstrap 4, Sass is used instead of Less for the stylesheets.

Each Bootstrap component consists of an HTML structure, CSS declarations, and in some cases accompanying JavaScript code.

Grid system and responsive design comes standard with an 1170 pixel wide grid layout. Alternatively, the developer can use a variable-width layout, for both cases, the toolkit has four variations to make use of different resolutions and types of devices: mobile phones, portrait and landscape, tablets and PCs with low and high resolution. Each variation adjusts the width of the columns.

Stylesheets[edit]

Bootstrap provides a set of stylesheets that provide basic style definitions for all key HTML components, these provide a uniform, modern appearance for formatting text, tables and form elements.

Re-usable components[edit]

In addition to the regular HTML elements, Bootstrap contains other commonly used interface elements, the components are implemented as CSS classes, which must be applied to certain HTML elements in a page.

JavaScript components[edit]

Bootstrap comes with several JavaScript components in the form of jQuery plugins, they provide additional user interface elements such as dialog boxes, tooltips, and carousels. They also extend the functionality of some existing interface elements, including for example an auto-complete function for input fields; in version 1.3[13], the following JavaScript plugins are supported: Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button, Collapse, Carousel and Typeahead.

Bootstrap 4[edit]

On October 29, 2014, Mark Otto announced that Bootstrap 4 was in development,[9] on September 6, 2016, Mark suspended work on Bootstrap 3 in order to free up time to work on Bootstrap 4. Over 4,000 commits have been made to the Bootstrap 4 codebase so far.

Bootstrap 4 is almost a complete rewrite from Bootstrap 3. Significant changes include:

  • Switched from Less to Sass.
  • Dropped IE8, IE9, and iOS 6 support.
  • Added flexbox support and then dropped non-flexbox support.
  • Switched from pixels to root ems.
  • Increased global font-size from 14px to 16px.
  • Dropped the panel, thumbnail, and well components in favor of cards.
  • Dropped the Glyphicons icon font.
  • Dropped the pager component.
  • Rewrote almost all components, jQuery plugins and documentation.

See also[edit]

References[edit]

  1. ^ Rebert, Chris (July 25, 2016). "Bootstrap 3.3.7 released". Archived from the original on November 23, 2016. Retrieved February 23, 2017. 
  2. ^ Otto, Mark (2017-10-19). "Bootstrap 4 Beta 2". Retrieved 2017-10-30. 
  3. ^ "Search · stars:>1". GitHub. Retrieved February 23, 2017. 
  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 31, 2012). "Say hello to Bootstrap 2.0". Developer Blog. Twitter. Archived from the original on February 23, 2017. Retrieved February 23, 2017. 
  8. ^ Otto, Mark (August 19, 2013). "Bootstrap 3 released". Archived from the original on October 23, 2016. Retrieved February 23, 2017. 
  9. ^ a b Otto, Mark (October 29, 2014). "Bootstrap 3.3.0 released". Archived from the original on July 24, 2016. Retrieved February 23, 2017. 
  10. ^ a b 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. ^ "Supported browsers". Bootstrap. Retrieved February 23, 2017. 
  13. ^ "Bootstrap, from Twitter 1.3.0 Documentation - BootstrapDocs". bootstrapdocs.com. Retrieved 2017-10-22. 

External links[edit]