Я разработчик бэкэнд и немного смущен npm, bower, gulp, grunt и Yeoman. Всякий раз, когда я спрашиваю кого-то, какова их цель, ответ, как правило, сводится к менеджеру зависимости - для всех из них. Конечно, нам не нужны четыре разных инструмента, которые все делают одинаково?
Может кто-нибудь объяснить, что каждый из них хорош для в максимально возможном количестве предложений - если возможно, только один инструмент, используя язык, на котором может учиться пятилетний (с навыками развития)?
Например:
- SVN хранит, управляет и отслеживает изменения в нашем исходном коде
В прошлом я использовал maven, Jenkins, nexus и ant; возможно, вы могли бы сравнить инструменты выше с ними?
Также не стесняйтесь добавлять в список другие интерфейсные инструменты.
Вот что я обнаружил до сих пор - не уверен, что это правильно, хотя:
- bower менеджер зависимостей для интерфейсных разработчиков/JS-библиотек использует плоский список зависимостей
- npm менеджер зависимостей для сервера node.js, может разрешать переходные зависимости/деревья зависимостей
- grunt запускает задачи, как Jenkins, но локальность в командной строке
- Yeoman предоставил строительные леса, т.е. скелетные проекты
- gulp то же самое, что и grunt, но написанное только в js
- node.js сервер для js-приложений?
- git децентрализованный SCM/VCS, аналог svn/cvs
Я закрываю?:)