Bower ist ein freier Paketmanager für clientseitige Webentwicklung. Es ermöglicht das einfache Installieren und Aktualisieren von Programmbibliotheken und Frameworks, mithilfe eines in Node.js geschriebenen Kommandozeilenwerkzeugs.

Funktionsweise und Konzepte Bower wird über die Kommandozeile (Shell) gesteuert. Nachfolgend findet sich eine Auflistung der wichtigsten Befehle und Konzepte von Bower.

Installation Bower ist ein Kommandozeilenprogramm und benötigt Node.js und wird daher mit Node Package Manager (npm) installiert, für die Installation unter unixoiden Systemen bzw. POSIX-Systemen führt man den Befehl in der Shell aus, um die Installation global auszuführen.

Nach der Installation steht in der Kommandozeile nun der Befehl zur Verfügung.

Packages Packages sind bei Bower einzelne Programme wie z. B. jQuery und AngularJS, also eigenständige Softwarepakete, und .

Packages können einzeln über die Shell installiert werden, dazu navigiert man in der Shell auf den Ordner und führt aus, „“ muss durch das entsprechende (zu installierende) Package ersetzt werden.

Dabei gibt es verschiedene Möglichkeiten das Package anzugeben. „Registrierte“ , also durch einen eindeutigen Namen bei Bower identifiziert (dies sind meist größere/bekanntere Softwareprojekte), kann dieser Name allein angegeben werden und sieht bei jQuery z. B. so aus jquery. Es kann auch ein GitHub-Kürzel in der Form Entwickler/Projekt angegeben werden und sieht für Angular.js wie folgt aus angular/angular.js. Darüber hinaus kann auch eine eindeutige Adresse angegeben werden, entweder eine Gitadresse () oder eine HTTP-URL () angegeben werden.

Projektinitialisierung und bower.json Ein Ordner kann mit dem Befehl initialisiert werden, beim Ausführen dieses Befehls wird eine bower.json-Datei angelegt. Dies kann auch selbständig erstellt werden. Eine bower.json sieht wie folgt aus: { "name": "my-project", "version": "1.0.0", "main": [ "path/to/main.js", "path/to/main.css" ], "private": true, "keywords": [ "MyKeyword", "OtherKeword" ], "ignore": [ ".jshintrc", "**/*.txt" ], "dependencies": { "<name>": "<version>", "<name>": "<folder>", "<name>": "<package>" }, "devDependencies": { "<test-framework-name>": "<version>"

Dabei enthält "" den Projektnamen als String. "" erwartet einen String mit der aktuellen Version, üblicherweise im Format „“. "" enthält optional den/die Pfad(e) maximal einer Datei je Typ (z. B. JavaScript, CSS,…) als String oder Array, welche als Einstiegspunkt zur Verwendung des Projektes angesehen werden kann. "" ist ein Boolean, wenn auf gesetzt gibt dies an, dass dieses Projekt nicht zur Veröffentlichung vorgesehen ist. "ignore" nimmt einen Stringarray mit den, für den Produktivgebrauch, zu ignorierenden Dateien als Wert an. "" sind die, als Hash anzugebenden Abhängigkeiten, die auf jeden Fall erfüllt werden müssen. "" sind ebenfalls als Hash zu definierenden Abhängigkeiten, die jedoch nur für die weitergehende Entwicklung (, Dokumentation etc.) benötigt werden.

Die "" und die können auch über die Shellbefehle , was das angegeben „“ zu den „“ beziehungsweise dies fügt das angegebene „“ zu den „“ in der bower.json hinzu.

Führt man den Befehl in einem Ordner aus, in dem eine (ausgefüllte) bower.json-Datei liegt, werden die „“ und „“ gegebenenfalls heruntergeladen und werden standardmäßig im Ordner bower_components/ abgelegt. Das installieren der „“ kann mit der Angabe bower install -p, wobei „p“ für „“ steht verhindert werden.

Geschichte Bower wurde von Twitter im Rahmen seiner Open-Source-Initiative im Jahr 2012 initiiert und wird derzeit von einem Team aus 7 Hauptentwicklern (englisch ) und 121 Mitwirkenden der GitHub-Community entwickelt (Stand Ende November 2014).

Mit der fortschreitenden Verbreitung des ECMAScript-6-Modulsystems sind viele Projekte und Entwickler auf NPM in Kombination mit Bundler-Software wie Browserify bzw. Webpack umgestiegen. Das Projekt überlegte seit Juni 2016, sich selbst als deprecated zu bezeichnen. Seit Mai 2017 wird auf der Projekt- und Webseite empfohlen, Yarn und Webpack als Ersatz zu verwenden.

Name Bower wurde nach der englischen Bezeichnung der Vogelart der Laubenvögel (englisch ) benannt. Bei dieser Vogelart sammelt das Männchen verschiedene farbige Gegenstände, um seine Laube möglichst prächtig zu gestalten, da sich Weibchen mit dem Bauherren der prächtigsten Laube paaren. Bower macht eigenen Angaben zufolge genau das: es sammelt die Programme (Gegenstände) und stellt sie dem Entwickler zur Verfügung um seine Anwendung (Laube) zu entwickeln.

Logo Das Logo zeigt einen Goldlaubenvogel bei seinem Balztanz und wurde von Dave DeSandro und Isaac Durazo gestaltet.

Die Logoentwicklung wurde auf GitHub Gist dokumentiert.

Weblinks Offizielle Website Repository von Bower auf GitHub Statistiken zu Bower

Einzelnachweise

Kategorie:Freie Software Kategorie:X (soziales Netzwerk) Kategorie:JavaScript