11 Nástroje pro správu závislostí pro webové vývojáře
Závislosti jsou základním kamenem moderního vývoje webu. Jedná se o potřebné nástroje, pluginy, knihovny a rámce nutné vytvářet webové aplikace na vysoké úrovni.
V posledních několika letech prudce vzrostl počet závislostí. Časem vývojáři přijali nástroje pro správu závislosti, které zmírnit stres organizování a aktualizací závislostí. Tyto nástroje vedou k optimalizaci pracovního postupu pro vývojáře a projektové manažery.
Katalogizoval jsem nejlepší nástroje závislosti, včetně dobře zavedených a nově vznikajících platforem. Profesionální vývoj webových aplikací vyžaduje neustálé učení a já bych argumentoval, že řízení závislosti je dovednost, která stojí za to se učit.
1. NPM
Tento průvodce jsem nemohl napsat bez toho, abych udělil kredit Správci balíčků. Tento systém, postavený na Node.js, napájí obrovské úložiště 100 000 balíčků a modulů.
Každý projekt může použít nastavení souboru package.json prostřednictvím NPM a dokonce spravovat pomocí Gulp (na uzlu). Závislosti lze aktualizovat a optimalizovat přímo z terminálu. Můžete také vytvářet nové projekty se soubory závislostí a čísly verzí, které jsou automaticky staženy ze souboru package.json.
NPM je cenný pro více než jen správu závislostí a je to prakticky nezbytný nástroj pro moderní vývoj webu. Pokud jste zmatení, podívejte se na toto vlákno Reddit pro vysvětlení začátečníka.
2. Bower
Systém správy balíčků Bower běží na NPM, který se zdá být trochu nadbytečný, ale mezi těmito dvěma rozdíly je rozdíl, zejména to, že NPM nabízí více funkcí, zatímco Bower si klade za cíl redukce velikosti souborů a doby načítání pro závislosti na frontendu.
Podívejte se na tuto Stack otázku se dozvědět více o jemné rozdíly.
Někteří devs argumentují, že Bower je v podstatě zastaralý od té doby, co to běží na NPM, služba, která může dělat téměř všechno Bower může dělat. Obecně to není špatné.
Ale devs by si měl uvědomit, že Bower může optimalizovat pracovní postup specificky se závislostmi na frontendu. Doporučuji Ben McCormick článek je Bower Užitečné se dozvědět více o hodnotě nabízené z obou nástrojů pro správu balíčků.
3. RubyGems
RubyGems je správce balíčků pro Ruby s vysokou popularitou mezi webovými vývojáři. Projekt je otevřený a zahrnuje všechny volné drahokamy Ruby.
Stručný přehled pro začátečníky “klenot” je jen několik kód, který běží v prostředí Ruby. To může vést k programům jako Bundler, které spravují klenotové verze a udržují vše aktualizované.
Vývojáři Rails tuto funkci milují, ale co balíčky frontendu? Protože Ruby je open source, mohou vývojáři vytvářet projekty jako Bower for Rails. To přináší správu balíčků frontendu na platformu Ruby s malou křivkou učení.
4. RequireJS
Na RequireJS je něco zvláštního v tom, že je to především sada nástrojů JS. Lze jej použít načítání modulů JS rychle včetně modulů uzlů.
RequireJS může automaticky detekuje požadované závislosti Na základě toho, co používáte, by to mohlo být podobné klasickému softwarovému programování v C / C ++, kde jsou knihovny součástí dalších knihoven.
Najdete zde zajímavou diskusi na toto téma a hodnotu, kterou nabízí moderní weboví vývojáři. Udělené další JS nástroje pro správu, jako je webpack, se objevily, RequireJS stále funguje ve výrobních prostředích. A pokud to funguje pro vás, je to všechno, na čem záleží.
5. Jam
Správa balíčků založená na prohlížeči je v nové podobě s JamJS. Jedná se o správce balíčků JavaScript s automatickou správou podobnou RequireJS.
Všechny vaše závislosti jsou vytáhl do jediného souboru JS, který umožňuje přidat a odebrat položek rychle. Navíc je lze aktualizovat v prohlížeči bez ohledu na další nástroje, které používáte (například RequireJS).
Knihovny jsou aktualizovány na základě nejnovějších verzí prostřednictvím terminálu. Každý projekt může být automaticky vytvořené s optimalizovanými komponenty na základě tvoje potřeby. Jam je zdarma na GitHub a stojí za to podívat, pokud máte čas.
6. Browserify
Většina vývojářů ví o prohlížeči Browserify, i když to není součástí jejich typického pracovního postupu. Jedná se o další nástroj pro správu závislostí, který optimalizuje požadované moduly a knihovny tím, že je spojuje dohromady.
Tyto svazky jsou v prohlížeči což znamená, že můžete zahrnout a sloučit moduly s prostým JavaScriptem. Vše, co potřebujete, je NPM, abyste mohli začít a pak se Browserify dostat do pohybu.
Podívejte se na tento úvodní kurz a podívejte se, jak lze uzel spravovat přímo v prohlížeči. K dispozici je také dlouhá příručka Browserify hostovaná na GitHub zdarma. Cílem je, aby všechny tyto nástroje uzlu do prohlížeče a ušetřit čas automatizací procesu s Browserify.
7. Mantri
Stále ve svých raných fázích růstu je MantriJS závislým systémem pro webové aplikace střední až vysoké úrovně. Závislosti jsou řízeny přes jmenné prostory a organizovány funkčně, aby se předešlo kolizím a snížila nepořádek.
Mantri je v současné době v době psaní v0.2.2. Je to úplně open source a postaven pro složitější webové aplikace, které vyžadují velké svazky závislostí. Mantri si klade za cíl sledovat modulární programovací postupy a doufá, že povzbudí vývojáře na stejnou cestu.
8. Volo
Nástroj pro správu projektů volo je open source NPM repo, které může vytvářet projekty, přidávat knihovny a automatizovat pracovní postupy.
Volo běží uvnitř uzlu a spoléhá na JavaScript pro řízení projektů. Stručný úvodní průvodce najdete na GitHubu, kde je vysvětlen proces instalace a běžné používání. Například pokud spustíte příkaz volo vytvořit
můžete připojit libovolnou knihovnu jako HTML5 Boilerplate.
Ale kromě vytváření nových projektů můžete také přidat / aktualizovat knihovny pro starší projekty. Volo se váže ke všemu, co potřebujete pro rozvoj frontendu. Podívejte se na cíle volou, abyste zjistili, jak funguje v reálném projektu.
9. Ender
Ender je “knihovna bez knihovny” a je jedním z nejlehčích manažerů balíčků, který najdete online. Umožňuje devs prohledávat JS balíky a instalovat / kompilovat je přímo z příkazového řádku. Ender je myšlenka jak “Sestra NPM” týmem dev.
Samozřejmostí je, že celý rámec Ender je k dispozici zdarma na GitHub. Je to prostě nástroj, který vám pomůže nainstalovat spravovat spotřebu frontend JavaScript frameworků pro lokální projekty. Všechno je určeno k tomu, aby bylo snadné pracovat s maximálním potenciálem pro vývojový postup frontendového vývojáře.
Hlavní webové stránky Ender mají kvalitní dokumentaci, takže stojí za to se podívat, pokud máte zájem.
10. pip
Doporučená metoda pro instalaci závislostí Pythonu je přes pip. Tento nástroj byl vytvořen Python Packaging Authority a je to zcela otevřený zdroj stejně jako samotný Python.
Většina vývojářů Pythonu doporučuje pip pro závislosti, včetně týmu Django. Ať už začínáte s Pythonem nebo ji již používáte konzistentně s vývojem backendu, je to správce balíčků, který budete mít rádi ve svém panelu nástrojů..
11. Skladatel
Composer je správce balíčků velmi podobný NPM, ale je zaměřen pouze na PHP knihovny. Seznam závislostí najdete na Packagistu, který obsahuje velké PHP rámce jako Laravel.
Li jste vývojář PHP jakéhokoliv druhu vážně doporučuji dívat se na skladatele. To je snadno začít, ale těžko se vejde do pracovního postupu. Nicméně s praxí se stane základem pro PHP dev projekty.
Jedná se o všestranný nástroj s potenciálem růstu ještě většího času. Plus NPM může kombinovat s Composerem vytvořit frontend + backend závislost management systém pro všechny vaše projekty PHP / JS.
Balení
Je jasné, že mnoho z těchto manažerů závislostí má podobné rysy s podobnými vlastnostmi. Některé jsou postaveny řešit alternativní problémy a může běžet i v tandemu (tj. Composer a NPM).
Téma řízení závislosti může být pro nové vývojáře těžké. Doporučuji vybrat jeden z těchto nástrojů a prozkoumat hloubku, abyste se co nejvíce naučili. Pokuste se vytvořit malé webové servery a zjistěte, proč je správa závislostí užitečná.
Jakmile se naučíte, jak tyto nástroje aplikovat do svého pracovního postupu, nikdy neuvažujete o návratu.