Bower
Bower is a front-end package manager built by Twitter. Also known as a Package manager for the Web, bower is used in modern open source and closed source projects to solve many recurrent issues.
Web sites are made of lots of things — frameworks, libraries, assets, and utilities. Bower manages all these things for you.
Keeping track of all these packages and making sure they are up to date (or set to the specific versions you need) is tricky. Bower to the rescue!
Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files. Bower doesn’t concatenate or minify code or do anything else - it just installs the right versions of the packages you need and their dependencies.
Bower is optimized for the front-end. If multiple packages depend on a package - jQuery for example - Bower will download jQuery just once. This is known as a flat dependency graph and it helps reduce page load.
Problems that bower solves
Developing a website or web application nowadays requires the usage of many front-end frameworks, such as Bootstrap, jQuery, Angular, etc.
1. Downloading each one of these packages requires navigating the corresponding website, finding the appropriate version, downloading it, unzipping and finally moving the mainfiles to the vendor folder. (e.g.: the main file in in jquery package is jquery.js)
2. After having the files downloaded in your repository, you have to manually visit all the above websites (jquery.com, angularjs.com, bootstrap.com) to check for updates and guess what? If there is an update, you have to repeat step 1 for each package/update.
3. Let’s assume we’re going to use Bootstrap which requires jQuery (called dependency). When you go to getbootstrap.com to downoad it, you will then have to navigate to jquery.com to download jquery as well.
In summary, bower helps you manage your front-end packages. It helps you download them, update them and resolve their dependencies.
There are other benefits of using bower that we will discuss later in this article, but these are the main issues that bower is solving for us!
Contents related to 'Bower'
Angular JS: AngularJS is a JavaScript-based open-source front-end web application framework to address many of the challenges encountered in developing single-page applications.
Bootstrap: Bootstrap is a free and open-source front-end web framework for designing websites and web applications.