11 Инструменти за управление на зависимостите за уеб разработчици
Зависимостите са крайъгълен камък на модерното уеб развитие. Това са необходимите инструменти, приставки, библиотеки и рамки необходими за изграждане на уеб приложения на високо ниво.
Самият брой на зависимостите рязко скочи през последните няколко години. С течение на времето разработчиците са приели инструменти за управление на зависимостите, които облекчаване на стреса за поддържане на зависимостите, организирани и актуализирани. Тези инструменти водят до оптимизиран работен процес за разработчици и ръководители на проекти.
Аз каталогизирах най-добрите инструменти за зависимост тук, включително добре установени и нововъзникващи платформи. Професионалното уеб развитие изисква непрекъснато учене и бих казал, че управлението на зависимост е умение, което си струва да се научи.
1. НПМ
Не можах да напиша това ръководство, без да давам кредит на мениджъра на пакетните възли. Построена на Node.js, тази система захранва огромно хранилище 100,000 + пакети и модули.
Всеки проект може да използва настройка на файла package.json чрез NPM и дори да се управлява с Gulp (на Node). Зависимостите могат да бъдат актуализирани и оптимизирани директно от терминала. Можете да изграждате нови проекти с файлове за зависимост и номера на версиите, автоматично изтеглени от файла package.json.
НПМ е ценен за повече от просто управление на зависимостите, и това е практически задължително средство за модерно уеб развитие. Ако сте объркани, моля, проверете тази нишка Reddit за обяснение на начинаещите.
2. Бауър
Системата за управление на пакети Bower работи на НПМ, което изглежда малко излишно, но има разлика между двете, особено когато НПМ предлага повече функции, докато Бауър има за цел намаляване на размера на файловете и времето за зареждане за зависимостите в интерфейса.
Разгледайте този въпрос за стека, за да научите повече за фините различия.
Някои разработчици твърдят, че Bower е основно остарял, тъй като работи с NPM, услуга, която може да направи почти всичко, което Bower може да направи. Като цяло това не е грешно.
Но разработчиците трябва да осъзнаят, че Бауър може оптимизиране на работния процес специално с зависимостта на интерфейса. Препоръчвам статията на Ben McCormick Is Bower Полезно е да научите повече за стойността, предлагана от двата инструмента за управление на пакети.
3. RubyGems
RubyGems е пакет мениджър за Ruby с висока популярност сред уеб разработчиците. Проектът е с отворен код и включва всички свободни Ruby камъни.
За кратък преглед за начинаещи, a “скъпоценен камък” е само някои код, който се изпълнява в Ruby среда. Това може да доведе до програми като Bundler, които управляват gem версии и поддържат всичко актуализирано.
Разработчиците на 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, дори ако не са част от техния обичаен работен процес. Това е друг инструмент за управление на зависимостите, който оптимизира необходимите модули и библиотеки, като ги обединява заедно.
Тези пакети са в браузъра което означава, че можете включва и обединява модули с обикновен JavaScript. Всичко, от което се нуждаете, е NPM, за да започнете и след това Browserify, за да се движите.
Разгледайте това интро урок, за да видите как Node може да се управлява точно в браузъра. Има и дълъг наръчник Browserify, който се хоства на GitHub безплатно. Идеята е да се въведат всички тези инструменти на Node в браузъра и да се спести време чрез автоматизиране на процеса с Browserify.
7. Мантри
Все още в ранните си етапи на растеж, MantriJS е система за зависимост за уеб приложения от средно до високо ниво. Зависимостите се управляват чрез пространства от имена и функционално организирани, за да се избегнат сблъсъци и да се намали претрупването.
Mantri в момента е на v0.2.2 по време на писане. Това е напълно отворен код и изградени за по-сложни уеб приложения, които изискват големи пакети зависимости. Mantri има за цел да следва практиките на модулното програмиране и се надява да насърчи разработчиците по същия път.
8. Воло
Инструментът за управление на проекти volo е отворен НПМ repo, който може да създава проекти, да добавя библиотеки и да автоматизира работните потоци..
Volo работи в Node и разчита на JavaScript за управление на проекти. Кратко ръководство за въвеждане може да бъде намерено в GitHub, като обяснява процеса на инсталиране и общата употреба. Например, ако изпълните командата volo create
можете да поставите всяка библиотека като HTML5 Boilerplate.
Но освен създаването на нови проекти, можете също добавяне / актуализиране на библиотеки за по-стари проекти. Volo се свързва с всичко, от което се нуждаете за развитие на интерфейса. Проверете целта на дизайна на volo, за да видите как тя работи в реален проект.
9. Ендър
Ендер е “библиотека без библиотека” и е един от най-леките мениджъри на пакети, които ще намерите онлайн. Тя позволява на разработчиците да търсете чрез JS пакети и ги инсталирайте / компилирайте направо от командния ред. За Ендер се мисли като за “Малката сестра на НПМ” от екипа на разработчиците.
Естествено, цялата рамка на Ендър е достъпна безплатно за GitHub. Това е просто инструмент, който инсталирате, за да ви помогне управление на потреблението на фрейдън JavaScript рамки за местни проекти. Всичко е предназначено да работи лесно с максимален потенциал за работен поток на разработчика.
Основният уебсайт на Ендър има качествена документация, така че си струва да погледнете, ако се интересувате.
10. pip
Препоръчителният метод за инсталиране на Python зависимости е чрез pip. Този инструмент е създаден от Python Packaging Authority и е напълно отворен код като Python.
По-голямата част от разработчиците на Python препоръчват пипс за зависимости, включително екипа на Django. Независимо дали започвате да работите с Python или вече го използвате последователно с разработката на бекенда, това е мениджър на пакети, който ще се радва да имате в кутията си.
11. Композитор
Composer е мениджър на пакети, много подобен на NPM, но той е фокусиран единствено върху библиотеките на PHP. Можете да намерите списък с зависимости на Packagist, който включва големи PHP рамки като Laravel.
ако вие сте PHP разработчик от всякакъв вид, сериозно препоръчвам да търсите в Composer. е лесно да започнете, но е трудно да се побере в работния процес. Въпреки това с практиката тя ще се превърне в основна част от PHP dev проектите.
Това е многофункционален инструмент с потенциал да нарасне още повече във времето. Plus NPM може да се смесва с Composer, за да създаде frontend + backend система за управление на зависимостта за всички ваши PHP / JS проекти.
Обобщавайки
Ясно е, че много от тези мениджъри на зависимост имат сходни качества. Някои от тях са построени решаване на алтернативни проблеми и дори може да се изпълнява в тандем един с друг (т.е. композитор и НПМ).
Темата за управлението на зависимостите може да бъде трудна за новите разработчици. Препоръчвам да изберете един от тези инструменти и да изследвате в дълбочина, за да научите колкото е възможно повече. Опитайте да създадете малки уеб приложения и научете защо управлението на зависимостта е полезно.
След като научите как да приложите тези инструменти във вашия работен процес, никога няма да помислите за връщане назад.