Домашня » Інструментарій » 11 Інструменти керування залежності для веб-розробників

    11 Інструменти керування залежності для веб-розробників

    Залежність є наріжним каменем сучасного веб-розробки. Це необхідні інструменти, плагіни, бібліотеки та фреймворки необхідні для створення веб-додатків високого рівня.

    Саме кількість залежностей різко зросла за останні кілька років. З часом розробники прийняли інструменти управління залежностями, які пом'якшення стресу, пов'язаного з організацією та оновленням залежностей. Ці інструменти призводять до оптимізації робочого процесу для розробників і менеджерів проектів.

    Я каталогізував тут найкращі інструменти залежності, включаючи як усталені, так і нові платформи. Професійна розробка веб-сайтів вимагає постійного навчання, і я стверджую, що управління залежностями є набором навичок, які варто вивчити.

    1. НПМ

    Я не міг написати цей посібник, не надавши кредиту Менеджеру пакетів Node. Побудована на Node.js, ця система керує величезним сховищем 100000 + пакетів і модулів.

    Кожен проект може використовувати пакунок package.json через NPM і навіть керуватися за допомогою Gulp (на Node). Залежності можуть бути оновлені і оптимізовані прямо з терміналу. Крім того, ви можете створювати нові проекти з файлами залежностей і номерами версій, автоматично витягнутими з файлу package.json.

    НПМ є цінним для більш ніж просто управління залежностями, і це практично обов'язковий інструмент для сучасного веб-розробки. Якщо ви заплутані, будь ласка, перевірте цей потік Reddit для пояснення початківця.

    2. Бауер

    Система управління пакетами Bower працює на NPM, що здається трохи зайвим, але є різниця між ними, зокрема, що NPM пропонує більше можливостей, а Bower має на меті зменшення розміру файлів і часу завантаження для зовнішніх залежностей.

    Перевірте це питання Стек, щоб дізнатися більше про тонкі відмінності.

    Деякі розробники стверджують, що Bower в основному застаріло, оскільки працює на NPM, послугу, яка може зробити все, що може зробити Bower. Загалом, це не так.

    Але розробники повинні розуміти, що Бауер може оптимізувати робочий процес спеціально з залежностями frontend. Рекомендую статтю Ben McCormick Is Bower Корисно дізнатися більше про цінність, запропоновані обома інструментами управління пакунками.

    3. RubyGems

    RubyGems - це пакетний менеджер для Ruby з високою популярністю серед веб-розробників. Проект є відкритим вихідним кодом і включає всі вільні дорогоцінні камені Ruby.

    Щоб дати короткий огляд для початківців, a “gem” це лише деякі код, який працює на середовищі Ruby. Це може призвести до таких програм, як Bundler, які керують версіями gem і зберігають все оновлене.

    Розробники Rails полюблять цю функцію, але як щодо пакетних інтерфейсів? Оскільки Ruby є відкритим кодом, розробники можуть створювати проекти, такі як Bower for Rails. Це приводить управління пакетами frontend до платформи 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 - система залежностей для веб-додатків середнього та високого рівня. Управління залежностями здійснюється через простори імен і організовані функціонально, щоб уникнути зіткнень і зменшити безлад.

    Mantri в даний час на v0.2.2 на момент написання. Це повністю відкрите джерело і побудований для більш складних веб-додатків, які вимагають великих пакетів залежностей. Mantri прагне дотримуватися практик модульного програмування і сподівається заохотити розробників до того ж шляху.

    8. Воло

    Інструмент керування проектом volo є відкритим вихідним кодом NPM, який може створювати проекти, додавати бібліотеки та автоматизувати робочі процеси.

    Воло запускається всередині Node і спирається на JavaScript для керування проектами. Короткий вступний посібник можна знайти на GitHub, пояснюючи процес встановлення та загальне використання. Наприклад, якщо ви виконаєте команду Воло створити можна вставити будь-яку бібліотеку, наприклад HTML5 Boilerplate.

    Але крім створення нових проектів, ви також можете додавання / оновлення бібліотек для старих проектів. Volo прив'язаний до всього, що вам потрібно для розробки інтерфейсу. Перевірте цілі дизайну volo, щоб побачити, як він працює в реальному проекті.

    9. Ендер

    Ендер - це “бібліотека без бібліотеки” і є одним з найлегших менеджерів пакетів, який ви знайдете в Інтернеті. Це дозволяє розробникам здійснюйте пошук через JS-пакунки та встановлюйте / компілюйте їх прямо з командного рядка. Ендер вважається таким “Маленька сестра НПМ” командою розробників.

    Природно, вся система Ender доступна безкоштовно на GitHub. Це просто інструмент, який ви встановлюєте, щоб допомогти керувати споживанням фреймвордних кадрів JavaScript для локальних проектів. Все це призначено для роботи з легкістю до максимального потенціалу робочого процесу розробника.

    Головний сайт Ендера має якісну документацію, тому варто поглянути, якщо ви зацікавлені.

    10. pip

    Рекомендованим методом встановлення залежностей Python є піп. Цей інструмент був створений Python Packaging Authority, і він повністю відкритий, як і сам Python.

    Більшість розробників Python рекомендують pip для залежностей, включаючи команду Django. Чи ви тільки починаєте працювати з Python або вже використовуєте його послідовно з розробкою бекенда, це менеджер пакетів, який буде радий мати у своєму наборі інструментів.

    11. Композитор

    Composer - це менеджер пакетів, дуже схожий на NPM, але він орієнтований виключно на бібліотеки PHP. Ви можете знайти список залежностей від Packagist, який включає великі фреймворки PHP, такі як Laravel.

    Якщо ви розробник PHP я будь-якого роду, я серйозно рекомендую дивитися в Composer. Його легко почати, але важко підійти у ваш робочий процес. Проте з практикою вона стане основним продуктом для PHP-проектів.

    Це універсальний інструмент, який з часом може збільшуватися. Крім того, NPM може поєднуватися з Composer, щоб створити інтерфейс + backend систему управління залежностями для всіх ваших проектів PHP / JS.

    Підведенню

    Зрозуміло, що багато з цих менеджерів залежностей мають подібні риси з подібними якостями. Деякі з них побудовані вирішувати альтернативні проблеми і може навіть працювати в тандемі один з одним (тобто. Композитор і NPM).

    Тема управління залежностями може бути жорсткою для нових розробників. Я рекомендую вибрати один з цих інструментів і вивчити глибину, щоб дізнатися якомога більше. Спробуйте створити невеликі веб-сторінки та дізнатися, чому керування залежностями є корисним.

    Після того як ви дізнаєтеся, як застосувати ці інструменти до робочого процесу, ви ніколи не розглядатимете можливість повернутися назад.