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.