Je ne suis pas sûr à 100% des points positifs. Voici quelques points négatifs
Vous finissez souvent par ajouter des dépendances à des serveurs / points de terminaison tiers qui pourraient ne pas être stables.
Je suis arrivé avec bower que le dépôt de certaines dépendances ait été supprimé ou déplacé. Donc, un nouveau développeur arrive, clone mon dépôt, tape
bower install
et obtient des erreurs pour les dépôts non accessibles. Si, à la place, j'avais enregistré le code tiers dans mon référentiel, ce problème disparaît.
Cela est résolu comme le suggère l'OP si vous tirez des dépôts à partir de copies conservées sur un serveur que vous exécutez.
Plus difficile pour les noobs.
Je travaille avec des étudiants en art avec très peu d'expérience en ligne de commande. Ils font de l'art avec Processing, arduino, Unity3D et s'en sortent avec très peu de connaissances techniques. Ils voulaient utiliser du HTML5 / JavaScript que j'ai écrit. Étapes à cause de la tonnelle
- Téléchargez Zip of repo depuis github (notez que c'est à droite de chaque repo sur github. Parce qu'ils ne connaissent pas git)
- Téléchargez et installez le nœud (afin que nous puissions exécuter npm pour installer bower)
- Installez git ou msysgit (car bower l'exige et il n'est pas installé sur les machines de nombreux étudiants)
- Installer la tonnelle (
npm install -g bower
)
bower install
(enfin pour obtenir nos dépendances)
Les étapes 2 à 5 peuvent toutes être supprimées si nous archivons simplement les fichiers dans notre dépôt github. Ces étapes semblent très faciles pour vous et moi. Pour les étudiants, ils étaient très déroutants et ils voulaient savoir quelles étaient toutes les étapes où et à quoi elles servaient, ce qui pourrait être un bon apprentissage, mais était entièrement orthogonal au sujet de la classe et donc probablement rapidement oublié.
Il ajoute une autre étape lors de la traction.
C'est arrivé plusieurs fois que je fais un git pull origin master
, puis teste mon code et il faut 5 à 10 minutes pour se rappeler que je devais taper bower install
pour obtenir les derniers dépôts. Je suis sûr que cela est facilement résolu avec un crochet de script de tirage.
Cela rend le branchement plus difficile
Si 2 branches ont des dépôts différents, vous êtes un peu foutu. Je suppose que vous pouvez taper bower install
après chaque git checkout
. Voilà pour la vitesse.
Quant à vos points positifs, je pense qu'il y a des contre-exemples à chacun de ces
Facilite le processus de distribution et d'importation de modules partagés, en particulier les mises à niveau de version.
vs quoi? Ce n'est certainement pas plus facile à distribuer. Tirer un dépôt au lieu de 20 n'est pas plus facile et est plus susceptible d'échouer. Voir n ° 1 ci-dessus
Supprime les modules partagés du contrôle des sources, accélère et simplifie les extractions / enregistrements (lorsque vous avez des applications avec plus de 20 bibliothèques, c'est un vrai facteur).
Inversement, cela signifie que vous dépendez des autres pour les correctifs. Ce qui signifie que si vos dépôts proviennent d'une source tierce et que vous avez besoin d'un bug corrigé, vous devez attendre qu'ils appliquent votre patch. Pire, vous ne pouvez probablement pas simplement prendre la version que vous voulez plus votre patch, vous devez prendre la dernière version qui pourrait ne pas être rétrocompatible avec votre projet.
Vous pouvez résoudre ce problème en clonant leurs dépôts séparément, puis vous pointez vos projets sur vos copies. Ensuite, vous appliquez des correctifs à vos copies. Bien sûr, vous pouvez également le faire si vous copiez simplement la source dans votre référentiel
Permet un meilleur contrôle ou une meilleure connaissance des bibliothèques tierces utilisées dans votre organisation.
Cela semble discutable. Il suffit de demander aux développeurs de placer les bibliothèques tierces dans leur propre dossier sous <ProjectRoot>/3rdparty/<nameOfDep>
. Il est tout aussi facile de voir quelles bibliothèques tierces sont utilisées.
Je ne dis pas qu'il n'y a pas de points positifs. La dernière équipe dans laquelle je me trouvais comptait plus de 100 députés de tierce partie. Je fais juste remarquer que ce ne sont pas que des roses. J'évalue si je devrais me débarrasser de bower pour mes besoins par exemple.