11 инструментов управления зависимостями для веб-разработчиков
Зависимости являются краеугольным камнем современной веб-разработки. Это необходимые инструменты, плагины, библиотеки и фреймворки необходимо для создания веб-приложений высокого уровня.
За последние несколько лет значительно возросло количество зависимостей. Со временем разработчики приняли инструменты управления зависимостями, которые снять стресс от поддержания зависимостей организованным и актуальным. Эти инструменты обеспечивают оптимизированный рабочий процесс для разработчиков и руководителей проектов..
Здесь я каталогизировал лучшие инструменты зависимости, включая как хорошо зарекомендовавшие себя, так и новые платформы. Профессиональная веб-разработка требует постоянного обучения, и я бы сказал, что управление зависимостями - это навык, который стоит изучить.
1. НПМ
Я не мог написать это руководство, не отдавая должное менеджеру пакетов Node. Построенная на Node.js, эта система обеспечивает огромное хранилище 100 000+ пакетов и модулей.
Каждый проект может использовать настройку файла package.json через NPM и даже управляться с помощью Gulp (на узле). Зависимости могут быть обновлены и оптимизированы прямо из терминала. И вы можете создавать новые проекты с файлами зависимостей и номерами версий, автоматически извлекаемыми из файла package.json.
NPM полезен не только для управления зависимостями, но и является практически необходимым инструментом для современной веб-разработки. Если вы не уверены, ознакомьтесь с этой веткой Reddit для объяснения новичка..
2. Бауэр
Система управления пакетами Bower работает на NPM, который кажется немного избыточным, но есть разница между ними, особенно в том, что NPM предлагает больше функций, в то время как Bower стремится к сокращение размера файлов и времени загрузки для внешних интерфейсов.
Проверьте этот вопрос стека, чтобы узнать больше о тонких различиях.
Некоторые разработчики утверждают, что Bower в основном устарели, поскольку работают на NPM, сервисе, который может сделать почти все, что может сделать Bower. Вообще говоря, это не так.
Но разработчики должны понимать, что Бауэр может оптимизировать рабочий процесс специально с помощью зависимостей веб-интерфейса. Я рекомендую статью Бена Маккормика Is Bower Полезно узнать больше о ценности обоих инструментов управления пакетами..
3. RubyGems
RubyGems - менеджер пакетов для Ruby, пользующийся большой популярностью среди веб-разработчиков. Проект с открытым исходным кодом и включает в себя все бесплатные камни Ruby.
Чтобы дать краткий обзор для начинающих, “драгоценный камень” это просто некоторые код, который работает в среде Ruby. Это может привести к таким программам, как Bundler, которые управляют версиями гемов и поддерживают все в актуальном состоянии..
Разработчикам Rails понравится эта функция, но как насчет пакетов веб-интерфейса? Поскольку Ruby является открытым исходным кодом, разработчики могут создавать такие проекты, как Bower for Rails. Это приносит управление пакетами внешнего интерфейса на платформу Ruby с небольшой кривой обучения.
4. RequireJS
В RequireJS есть что-то особенное в том, что это прежде всего набор инструментов JS. Может использоваться для быстрая загрузка модулей JS, включая модули Node.
RequireJS может автоматически определять необходимые зависимости в зависимости от того, что вы используете, так что это может быть похоже на классическое программирование на C / C ++, где библиотеки включены в другие библиотеки.
Вы найдете интересное обсуждение GitHub на эту тему и ценность, которую оно предлагает современным веб-разработчикам. Если появились другие инструменты управления JS, такие как webpack, RequireJS по-прежнему работает в производственных средах. И если это работает для вас, это все, что имеет значение.
5. Джем
Управление пакетами на основе браузера входит в новую форму с JamJS. Это менеджер пакетов JavaScript с автоматическим управлением, похожим на RequireJS.
Все ваши зависимости вытащил в один файл JS, который позволяет добавлять и удалять предметы быстро. Кроме того, они могут быть обновлены в браузере независимо от других инструментов, которые вы используете (например, RequireJS).
Библиотеки обновляются на основе последних версий через терминал. Каждый проект может быть создается автоматически с оптимизированными компонентами основанный на твои нужды. Jam бесплатен на GitHub и стоит посмотреть, если у вас есть время.
6. Browserify
Большинство разработчиков знают о Browserify, даже если он не является частью их типичного рабочего процесса. Это еще один инструмент управления зависимостями, который оптимизирует необходимые модули и библиотеки, связывая их вместе.
Эти связки поддерживается в браузере что означает, что вы можете включать и объединять модули с простым JavaScript. Все, что вам нужно, это NPM, чтобы начать, а затем Browserify, чтобы двигаться.
Ознакомьтесь с этим вводным руководством, чтобы увидеть, как можно управлять Node прямо в браузере. Также на GitHub бесплатно размещен обширный справочник Browserify. Идея состоит в том, чтобы перенести все эти инструменты Node в браузер и сэкономить время за счет автоматизации процесса с помощью Browserify..
7. Мантри
Все еще на ранней стадии развития MantriJS является системой зависимостей для веб-приложений среднего и высокого уровня. Зависимости управляются через пространства имен и организовано функционально, чтобы избежать столкновений и уменьшить беспорядок.
Мантри в настоящее время v0.2.2 на момент написания. Это полностью Открытый исходный код а также Создан для более сложных веб-приложений, которые требуют больших пакетов зависимостей. Мантри стремится следовать методикам модульного программирования и надеется подтолкнуть разработчиков на тот же путь.
8. Воло
Инструмент управления проектами volo - это репозиторий NPM с открытым исходным кодом, который может создавать проекты, добавлять библиотеки и автоматизировать рабочие процессы..
Volo работает внутри Node и использует JavaScript для управления проектами. На GitHub можно найти краткое вводное руководство, объясняющее процесс установки и общее использование. Например, если вы запустите команду воло создать
Вы можете прикрепить любую библиотеку, как HTML5 Boilerplate.
Но помимо создания новых проектов вы также можете добавить / обновить библиотеки для старых проектов. Volo объединяет все, что вам нужно для развития внешнего интерфейса. Ознакомьтесь с целями дизайна volo, чтобы увидеть, как он работает в реальном проекте.
9. Эндер
Эндер является “библиотека без библиотеки” и является одним из самых легких менеджеров пакетов, которые вы найдете в Интернете. Это позволяет разработчикам искать через пакеты JS и устанавливать / компилировать их прямо из командной строки. Эндер считается “Младшая сестра НПМ” командой разработчиков.
Естественно, вся среда Ender доступна бесплатно на GitHub. Это просто инструмент, который вы устанавливаете, чтобы помочь управлять потреблением интерфейсов JavaScript для локальных проектов. Все должно работать с легкостью, чтобы максимально использовать возможности рабочего процесса внешнего интерфейса..
Основной сайт Ender имеет качественную документацию, так что стоит посмотреть, если вы заинтересованы.
10. пипс
Рекомендуемый метод установки зависимостей Python - через pip. Этот инструмент был создан Python Packaging Authority и является полностью открытым исходным кодом, как и сам Python.
Большинство разработчиков Python рекомендуют pip для зависимостей, включая команду Django. Независимо от того, начинаете ли вы работать с Python или уже используете его последовательно с бэкэнд-разработкой, этот менеджер пакетов вы будете рады иметь в своем наборе инструментов..
11. Композитор
Composer - менеджер пакетов, очень похожий на NPM, но он ориентирован исключительно на библиотеки PHP. Вы можете найти список зависимостей на Packagist, который включает в себя большие PHP-фреймворки, такие как Laravel.
Если ты разработчик PHP любого рода, я серьезно рекомендую заглянуть в Composer. Это легко начать, но трудно приспособить в ваш рабочий процесс. Однако с практикой это станет основным продуктом для PHP-проектов.
Это универсальный инструмент с потенциалом роста со временем. Плюс NPM может смешиваться с Composer для создания системы управления зависимостями frontend + backend для всех ваших проектов PHP / JS.
Завершение
Ясно, что многие из этих менеджеров зависимостей имеют схожие черты с похожими качествами. Некоторые построены для решить альтернативные проблемы и даже может работать в тандеме друг с другом (т.е. композитор и NPM).
Тема управления зависимостями может быть сложной для новых разработчиков. Я рекомендую выбрать один из этих инструментов и углубленно исследовать, чтобы узнать как можно больше. Попробуйте создать небольшие веб-приложения и узнайте, почему управление зависимостями полезно.
Когда вы научитесь применять эти инструменты в своем рабочем процессе, вы никогда не подумаете о том, чтобы вернуться назад..