1

Onderwerp: Bower... Waarom !?

Ik zie al een tijdje bij een hoop frameworks en libraries de mogelijkheid om de benodigde bestanden 'eenvoudig' te 'installeren' met Bower. Ik heb mij hier nooit echt in verdiept omdat het mij persoonlijk juist verre van eenvoudig en handig lijkt.

Om bijvoorbeeld de laatste bestanden van Bootstrap te downloaden moet je 1 regel invoeren in Bower, maar voor de installatie van Bower is NPM nodig, waarvoor weer Node.js noodzakelijk is.  Omdat ik niet weet wat NPM is, en het installeren van Node.js erg ingewikkeld klinkt heb ik mij nooit echt verdiept in Bower. Maar omdat het bij zo ontzettend veel libraries/frameworks staat zal het wel super-duper handig zijn, is dat nu echt zo?

Is bower nu echt zo onmisbaar?

2

Re: Bower... Waarom !?

Ik gebruik Bower niet. Heb me er nooit veel verder in verdiept dan te zien dat het "package management" is, en het makkelijk maakt om frameworks/libraries/etc te installeren. Ik ben van mening dat het gebruik van een extra library helemaal niet makkelijk moet zijn. Je moet er echt een groot wezenlijk probleem mee oplossen (als het dat niet doet, dan is het altijd de moeite waard om de functionaliteit zelf te schrijven, zodat het precies past in wat je doet, en op dezelfde manier als al je andere code gedocumenteerd en beheerd wordt), en er een weloverwogen keuze voor maken. Als je dat doet, dan moet je ook de tijd (willen) investeren om die toevoeging aan je codebase goed te leren kennen. Het installatie-proces en alles wat daar omheen hangt is daar een belangrijk onderdeel van, en dat verbergen levert alleen maar latere "gotchas" op.

Bovendien heb ik nog nooit het idee gehad dat het stukje dat Bower automatiseert mij dusdanig veel tijd kost dat ik daar automatisering nodig heb.

Ik kan me zeker situaties indenken waar Bower nuttig is, maar dat zal voornamelijk in de sfeer zitten van ontwikkelaars die al een volledig node.js-gebaseerde stack gebruiken (en deze ook door en door kennen), en die aan vele kleinere projecten werken waarbij steeds een net iets andere combinatie van libraries langskomen die ze al kennen, en waarvan ze snel kunnen beslissen "en nu heb ik dit en dit en dit nodig".

3

Re: Bower... Waarom !?

Zie ook de reacties op onze tweet over dit forum onderwerp.

@fronteers schreef:

is Bower echt zo onmisbaar en de tijdsinvestering van het leren waard?

Tot nu toe:

Jan van Hellemond schreef:

Nee.

Matijs Brinkhuis schreef:

nope

Darius Kruythoff schreef:

As usual: It depends. Maar meestal niet.

Bob den Otter schreef:

Q: “Wat is Bower?”
A: “Een package manager die je met NPM installeert”
Q: “Wat is NPM?”
A: “Een package manager”

Michiel Kalkman schreef:

Nee en ja

4

Re: Bower... Waarom !?

Ik krijg het idee dat Bower nu groter gemaakt dan nodig is. Het is gewoon een tool die het makkelijk maakt om packages te distribueren. Dat kan heel handig zijn, bijvoorbeeld als je zelf iets hebt gemaakt en je wilt het gemakkelijk met de buitenwereld  delen (cq. het is eenvoudig toegankelijk voor anderen).

Wij hebben een grote codebase waar met veel mensen aan gewerkt wordt. Het is dan erg prettig om één centraal punt te hebben waar front-end packages mee worden beheerd:

- Het zorgt ervoor dat packages nooit meer dan één keer voor komen in onze codebase.
- Het dwingt af welke versie er gebruikt wordt, cq. het versienummer die getest is met ons platform (via bower.json).
- Het geeft inzicht in welke packages er (niet meer) worden gebruikt in ons platform.
- Het is makkelijker om te zien welke packages out-of-date zijn en ze — één voor één of allemaal tegelijk — te updaten en testen.

Een deel van het gemak dat Bower (of een andere package manager) biedt zou je kunnen ondervangen met interne afspraken en richtlijnen, maar het heeft onze voorkeur om dat soort administratie te vermijden en te vervangen met een slimmer systeem.

Met argumenten als "de tijdsinvestering is te groot", "het wordt te makkelijk om een library te installeren" en "het installatieproces verbergen levert later gotcha's op" kan ik erg weinig. Het lijkt me dat het hier eerder om onderliggende problemen gaat dan dat het gevolgen zijn van het gebruik van een package manager. Als je iets met externe packages doet in je project, zeker als je met mensen samenwerkt, dan heeft het wat mij betreft al voldoende waarde. Werk je alleen, dan kan je je afvragen of het overkill is; je kunt ook zelf een git repo clonen naar je disk ;-)

Anyway, als antwoord op je vraag: niet onmisbaar, maar in sommige gevallen wel erg handig. Magoed, dat geldt voor bijna alles waar je aan of mee werkt. smile