Perché dovrei usare Bower? [chiuso]


32

Posso apprezzare appieno i vantaggi di un gestore di pacchetti come Python pip, Node npmo Ruby Gems poiché stanno facendo molto di più che aggiungere file al percorso delle applicazioni.

Forse mi manca il punto, o sono ottuso, ma qui ci sono gli aspetti negativi che posso vedere:

  • Passo separato durante la costruzione di un progetto
  • Dipendenza separata da installare tramite un altro gestore pacchetti (yo dawg)
  • Più disordine nei progetti root con bower.jsone / o.bowerrc
  • Affidamento al registro aggiornato, corretto e disponibile
  • Alcune importazioni / riferimenti a cose come le immagini non funzioneranno
  • Enorme sovrapposizione con npm e spesso non chiara quale risorsa utilizzare quando

Gli aspetti positivi che posso vedere sono questi:

  • Non devo scaricare manualmente le dipendenze
  • Opzionalmente installare i pacchetti come parte del ponteggio in base alle istruzioni dell'utente o simili

Mi piacerebbe davvero sapere di tutti i benefici di cui non sono a conoscenza, e dovrei dire che non sto cercando di essere provocatorio, che voglio davvero sapere.



Alla fine, tutti i gestori di pacchetti che menzioni coinvolgono il download di dipendenze e condividono alcuni degli stessi "aspetti negativi" che hai elencato per Bower. Allo stesso modo, Bower condivide alcuni dei vantaggi di npm, pip e rubygems: ad esempio, Bower semplifica l'aggiornamento delle dipendenze all'ultima versione (questa è grande) e riduce notevolmente l'ingombro nel repository git poiché non è necessario effettuare il check-in del codice di dipendenza.
Sffc,

6
È un peccato che questa domanda sia stata chiusa per essere "principalmente basata sull'opinione". L'OP chiede parere di esperti. "In che modo questo mi aiuta nel processo di sviluppo?"
Dave Kanter,

Sembra che la tendenza è che non dovresti usare il pergolato, non ha strumenti o vantaggi rispetto all'uso di npm combinato con Browserify. Sembra che l'industria abbia parlato e il numero di moduli per il decespugliatore sta diminuendo e npm e Browserify sta diventando lo standard: quora.com/Why-use-Bower-when-there-is-npm
Brian Ogden

Risposte:


12

Dal README :

Bower è un gestore di pacchetti per il web. Offre una soluzione generica e non definita al problema della gestione dei pacchetti front-end, esponendo al contempo il modello di dipendenza dei pacchetti tramite un'API che può essere utilizzata da uno stack di build più supponente. Non ci sono dipendenze a livello di sistema, nessuna dipendenza è condivisa tra app diverse e l'albero delle dipendenze è piatto.

Bower corre su Git ed è indipendente dal pacchetto. Un componente impacchettato può essere costituito da qualsiasi tipo di risorsa e utilizzare qualsiasi tipo di trasporto (ad es. AMD, CommonJS, ecc.).

Bower ha molti dei vantaggi di altri gestori di dipendenze. Sono sicuro che ce ne sono altri, ma i vantaggi che ho notato finora includono:

  • Semplificare quella che potrebbe essere definita gestione dichiarativa della dipendenza; cioè dichiari le tue dipendenze in bower.json in modo che altre cose possano determinarle facilmente
  • Non è necessario impegnare le dipendenze per il controllo della versione
  • Il versioning semantico viene utilizzato per aiutare a definire un intervallo di versioni accettabili per una dipendenza, il che semplifica l'aggiornamento a versioni più recenti nell'intervallo definito
  • Non è necessario individuare varie build (debug, minimizzate, ecc.)
  • Semplici da usare diverse build di una dipendenza per dev vs. prod
  • Puoi distribuire il file bower.json e tutti possono aggiornarsi con una semplice "installazione di bower"

2
Sicuramente avrei scritto la domanda in modo meno provocatorio. Immagino davvero che il vantaggio cruciale che ho perso sia l'utilizzo dell'API come parte di un processo di costruzione / scaffolding. Mi piacerebbe vederne l'uso in natura da qualche parte.
Wil

Mi sono reso conto di Bower quando ho avviato una webapp angolare usando il generatore angolare per Yeoman. Provare che potrebbe darti un'idea di come può essere utilizzato.
Mike Partridge,

Ho usato Yeoman e Grunt Init prima di allora, e forse è solo che le mie esigenze hanno sempre significato che i componenti del front-end non si sarebbero mai deviati: sarebbero sempre Angular, jQuery, Mocha ecc. Ma posso vedere che se un utente vuole scambiare un framework di test da un elenco di scelte del prompt bootstrap, che sarebbe utile. Penso che il vantaggio principale che ha senso siano le opzioni e i modificatori del bootstrap. Pensi che sia giusto?
Wil

2
Anche portabilità. È possibile distribuire il file bower.json e tutti possono aggiornarsi con una semplice "installazione di bower".
Dave Kanter,

1
s/bower/npm/ie questa risposta è ancora vera al 100%.
Qix,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.