Zum Inhalt springen

Bower (Software)

aus Wikipedia, der freien Enzyklopädie
Bower

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
Entwickler Twitter und Mitwirkende der GitHub-Community<ref name="about">About. In: bower.io. Abgerufen am 29. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Erscheinungsjahr 2012
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value))
Betriebssystem Plattformunabhängig
Programmier­sprache JavaScript (Node.js)
Kategorie Paketmanager
Lizenz MIT-Lizenz
deutschsprachig ja
bower.io

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[Bearbeiten]

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

Installation[Bearbeiten]

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 {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) in der Shell aus, um die Installation global auszuführen.<ref>Install Bower. In: Bower. Abgerufen am 29. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Nach der Installation steht in der Kommandozeile nun der Befehl {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) zur Verfügung.

Packages[Bearbeiten]

Packages sind bei Bower einzelne Programme wie z. B. jQuery und AngularJS, also eigenständige Softwarepakete, {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) und {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value).

Packages können einzeln über die Shell installiert werden, dazu navigiert man in der Shell auf den Ordner und führt {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) aus, „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ muss durch das entsprechende (zu installierende) Package ersetzt werden.

Dabei gibt es verschiedene Möglichkeiten das Package anzugeben. „Registrierte“ {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), 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 {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) jquery. Es kann auch ein GitHub-Kürzel in der Form Entwickler/Projekt angegeben werden und sieht für Angular.js wie folgt aus {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) angular/angular.js. Darüber hinaus kann auch eine eindeutige Adresse angegeben werden, entweder eine Gitadresse ({{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)) oder eine HTTP-URL ({{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)) angegeben werden.

Projektinitialisierung und bower.json[Bearbeiten]

Ein Ordner kann mit dem Befehl {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) 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:<ref name="create-packages">Creating packages. In: Bower. Abgerufen am 30. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> <syntaxhighlight lang="json"> {

 "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>"
 }

} </syntaxhighlight>

Dabei enthält "{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)" den Projektnamen als String. "{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)" erwartet einen String mit der aktuellen Version, üblicherweise im Format „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“. "{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)" 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. "{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)" ist ein Boolean, wenn auf {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) 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. "{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)" sind die, als Hash anzugebenden Abhängigkeiten, die auf jeden Fall erfüllt werden müssen. "{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)" sind ebenfalls als Hash zu definierenden Abhängigkeiten, die jedoch nur für die weitergehende Entwicklung ({{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), Dokumentation etc.) benötigt werden.<ref name="create-packages" />

Die "{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)" und die {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) können auch über die Shellbefehle {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), was das angegeben „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ zu den „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ beziehungsweise {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) dies fügt das angegebene „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ zu den „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ in der bower.json hinzu.<ref name="create-packages" />

Führt man den Befehl {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) in einem Ordner aus, in dem eine (ausgefüllte) bower.json-Datei liegt, werden die „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ und „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ gegebenenfalls heruntergeladen und werden standardmäßig im Ordner bower_components/ abgelegt. Das installieren der „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ kann mit der Angabe bower install -p, wobei „p“ für „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ steht verhindert werden.

Geschichte[Bearbeiten]

Bower wurde von Twitter im Rahmen seiner Open-Source-Initiative im Jahr 2012 initiiert<ref name="about" /> und wird derzeit von einem Team aus 7 Hauptentwicklern (englisch {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)) und 121 Mitwirkenden der GitHub-Community entwickelt (Stand Ende November 2014).<ref>Contributors. In: GitHub. Abgerufen am 29. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref>Bower Repository on GitHub. In: GitHub. Abgerufen am 29. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Mit der fortschreitenden Verbreitung des ECMAScript-6-Modulsystems<ref>ECMAScript 6: New Features: Overview and Comparison. In: es6-features.org. Abgerufen am 29. Dezember 2016 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value), Modules: Value Export/Import. Support for exporting/importing values from/to modules without global namespace pollution.).</ref> 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.<ref>Consider deprecating Bower. · Issue #2298 · bower/bower. In: GitHub. Abgerufen am 29. Dezember 2016 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Seit Mai 2017 wird auf der Projekt- und Webseite empfohlen, Yarn und Webpack als Ersatz zu verwenden.<ref>Add yarn and webpack recommendation (#2458) · bower/bower@0bd318d. 19. Mai 2017, abgerufen am 17. März 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)): „..psst! While Bower is maintained, we recommend yarn and webpack for new front-end projects!“</ref><ref>How to migrate away from Bower? In: bower.io/blog. 2. Oktober 2017, abgerufen am 17. März 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Name[Bearbeiten]

Bower wurde nach der englischen Bezeichnung der Vogelart der Laubenvögel (englisch {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)) 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.<ref>The Bowerbird. In: bower.io. Abgerufen am 29. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

[Bearbeiten]

Das Logo zeigt einen Goldlaubenvogel bei seinem Balztanz und wurde von Dave DeSandro und Isaac Durazo gestaltet.<ref>Bower Logo. In: Bower. Abgerufen am 29. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Die Logoentwicklung wurde auf GitHub Gist dokumentiert.<ref>Dave DeSandro: Bower logo. In: gist.github.com. Abgerufen am 29. November 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />