11 Orodja za upravljanje odvisnosti za spletne razvijalce
Odvisnosti so temelj sodobnega spletnega razvoja. To so zahtevana orodja, vtičniki, knjižnice in ogrodja potrebne za izgradnjo spletnih aplikacij na visoki ravni.
Samo število odvisnosti se je v zadnjih letih povzdignilo. Sčasoma so razvijalci sprejeli orodja za upravljanje odvisnosti, ki lajšanje stresa pri vzdrževanju odvisnosti in posodabljanju. Ta orodja vodijo k optimiziranemu delovnemu procesu za razvijalce in vodje projektov.
Tu sem katalogiziral najboljša orodja za odvisnost, vključno z dobro uveljavljenimi in novo nastajajočimi platformami. Strokovni spletni razvoj zahteva nenehno učenje in trdim, da je upravljanje odvisnosti znanje, ki ga je vredno učiti.
1. NPM
Tega vodnika nisem mogel napisati, ne da bi mu zaupal upravitelja paketov vozlišč. Ta sistem je zgrajen na Node.js in ima močan repozitorij 100.000+ paketov in modulov.
Vsak projekt lahko uporablja nastavitev datoteke package.json preko NPM in celo upravlja z Gulpom (na vozlišču). Odvisnosti se lahko posodobijo in optimizirajo neposredno iz terminala. Prav tako lahko gradite nove projekte z datotekami odvisnosti in številkami različic, ki se samodejno izvlečejo iz datoteke package.json.
NPM je dragocen za več kot le upravljanje odvisnosti in je praktično orodje za moderno spletno razvijanje. Če ste zmedeni, preverite to Reddit nitko za razlago začetnika.
2. Bower
Sistem za upravljanje paketov Bower deluje na NPM, kar se zdi malo odveč, vendar obstaja razlika med njima, zlasti ker NPM ponuja več funkcij, medtem ko Bower želi zagotoviti zmanjšanje velikosti datotek in časov nalaganja za odvisnosti od sprednje strani.
Oglejte si vprašanje Stack, če želite izvedeti več o subtilnih razlikah.
Nekateri razvijalci trdijo, da je Bower v bistvu zastarel, saj deluje na NPM, storitvi, ki lahko stori skoraj vse, kar lahko Bower stori. Na splošno to ni narobe.
Ampak bi se morali razvijalci zavedati, da Bower optimizirate delovni tok posebej z odvisnostmi v prednjem delu. Priporočam članek podjetja Ben McCormick Is Bower Uporabno, če želite izvedeti več o vrednosti, ki jo ponujajo orodja za upravljanje paketov.
3. RubyGems
RubyGems je paketni upravitelj za Ruby z visoko popularnostjo med spletnimi razvijalci. Projekt je odprtokoden in vključuje vse proste Ruby geme.
Za kratek pregled za začetnike, a “dragulj” je samo nekaj kodo, ki se izvaja v okolju Ruby. To lahko vodi do programov, kot je Bundler, ki upravljajo gem verzije in ohranja vse posodobljeno.
Razvijalci tirnic bodo imeli radi to funkcijo, toda kaj o paketih za frontende? Ker je Ruby odprtokoden, lahko razvijalci gradijo projekte, kot je Bower for Rails. To prinaša upravljanje paketa frontend na platformo Ruby z majhno krivuljo učenja.
4. RequireJS
Nekaj posebnega je v RequireJS v tem, da je to predvsem JS nabor orodij. Lahko se uporablja za hitro nalaganje modulov JS, vključno z moduli Node.
RequireJS lahko samodejno zazna zahtevane odvisnosti temelji na tem, kar uporabljate, zato je to lahko podobno klasičnemu programiranju v C / C ++, kjer so knjižnice vključene v nadaljnje knjižnice.
Boste našli zanimivo razpravo GitHub na to temo in vrednost, ki jo ponuja sodobnih spletnih razvijalcev. Dodeljena so bila druga orodja za upravljanje JS, kot je webpack, zato RequireJS še vedno deluje v produkcijskih okoljih. In če vam to uspe, je vse to pomembno.
5. Jam
Upravljanje paketov, ki temelji na brskalniku, prihaja v novi obliki z JamJS. To je upravljalnik paketov JavaScript s samodejnim upravljanjem, podobnim zahtevi RequireJS.
Vse vaše odvisnosti so v eni JS datoteki, ki omogoča dodajanje in odstranjevanje hitro. Poleg tega jih je mogoče posodobiti v brskalniku, ne glede na druga orodja, ki jih uporabljate (na primer RequireJS).
Knjižnice se posodabljajo na podlagi najnovejših različic prek terminala. Vsak projekt je lahko samodejno z optimiziranimi komponentami temelji na vaše potrebe. Jam je brezplačen na GitHubu in vreden ogleda, če imate čas.
6. Browserify
Večina razvijalcev pozna Browserify, čeprav ni del njihovega običajnega delovnega toka. To je še eno orodje za upravljanje odvisnosti, ki optimizira potrebne module in knjižnice z združevanjem.
Ti svežnji so v brskalniku kar pomeni, da lahko vključi in združi module z navadnim JavaScriptom. Vse kar potrebujete je NPM, da začnete in potem brskate po brskalniku.
Oglejte si to uvodno vadnico in si oglejte, kako lahko upravljate vozlišče v brskalniku. Obstaja tudi dolg priročnik Browserify, ki ga gosti GitHub brezplačno. Ideja je, da se vsa ta orodja vozlišča prenesejo v brskalnik in prihranijo čas z avtomatizacijo procesa z brskalnikom Browserify.
7. Mantri
Še v zgodnjih fazah rasti je MantriJS sistem odvisnosti za spletne aplikacije na srednji in visoki ravni. Odvisnosti upravljamo prek imenskih prostorov in funkcionalno organizirani, da bi se izognili trčenju in zmanjšali nered.
Mantri je trenutno v času izdaje v0.2.2. Popolnoma je odprtokodno in zgrajena za bolj kompleksne spletne aplikacije, ki zahtevajo velike sklope odvisnosti. Mantri si prizadeva slediti modularnim programskim praksam in upa, da bo razvijalce spodbudil k isti poti.
8. Volo
Orodje za upravljanje projekta volo je odprtokodna replika NPM, ki lahko ustvari projekte, doda knjižnice in avtomatizira delovne procese..
Volo deluje znotraj Node in se opira na JavaScript za upravljanje projektov. Kratek uvodni priročnik najdete na spletnem mestu GitHub, kjer je opisan postopek namestitve in običajna uporaba. Na primer, če zaženete ukaz volo create
lahko pritrdite katerokoli knjižnico, kot je HTML5 Boilerplate.
Toda poleg ustvarjanja novih projektov lahko tudi dodajanje / posodabljanje knjižnic za starejše projekte. Volo se veže na vse, kar bi potrebovali za razvoj frontendov. Oglejte si cilje oblikovanja volo, da vidite, kako deluje v realnem projektu.
9. Ender
Ender je “knjižnica brez knjižnice” in je eden najlažjih paketnih upraviteljev, ki jih boste našli na spletu. Omogoča napravam iščite po paketih JS in jih namestite / prevedite neposredno iz ukazne vrstice. Ender je misel kot “NPM je mlajša sestra” razvijalec.
Seveda je celoten okvir Enderja na voljo brezplačno na GitHubu. To je preprosto orodje, ki ga namestite za pomoč upravljanje porabe okvirov frontend JavaScript za lokalne projekte. Vse je zasnovano tako, da se z lahkoto izvaja v največji možni meri za delovni tok razvijalca.
Glavna spletna stran podjetja Ender ima kakovostno dokumentacijo, zato je vredna ogleda, če vas zanima.
10. pip
Priporočena metoda za namestitev odvisnosti Python je preko pip. To orodje je ustvaril Python Packaging Authority in je popolnoma odprt vir, tako kot Python.
Večina razvijalcev Pythona priporoča pip za odvisnosti, vključno z ekipo Django. Ne glede na to, ali začnete uporabljati Python ali ga uporabljate dosledno z razvojem v ozadju, je to upravljalnik paketov, ki vam bo z veseljem pomagal.
11. Skladatelj
Composer je upravitelj paketov, zelo podoben NPM, vendar je osredotočen izključno na knjižnice PHP. Seznam odvisnosti od paketa Packagist, ki vključuje velike PHP okvire, kot je Laravel, najdete.
Če ste razvijalec PHP vse vrste resno priporočam, da pogledate v Composer. To je enostavno začeti, a težko prilegati v vaš potek dela. Vendar pa s prakso bo postal glavni vir PHP projektov.
To je vsestransko orodje s potencialom, da se sčasoma poveča. Plus NPM se lahko združi s Composerjem, da ustvari frontend + backend sistem za upravljanje odvisnosti za vse vaše PHP / JS projekte.
Zavijanje
Jasno je, da imajo mnogi od teh upravljavcev odvisnosti podobne lastnosti s podobnimi lastnostmi. Nekateri so zgrajeni reševanje nadomestnih težav in lahko potekajo v tandemu med seboj (tj. skladatelj in NPM).
Tema za upravljanje odvisnosti je lahko za nove razvijalce težka. Priporočam, da izberete eno od teh orodij in podrobno raziščete, da se naučite čim več. Poskusite zgraditi majhne spletne aplikacije in ugotovite, zakaj je upravljanje odvisnosti koristno.
Ko boste izvedeli, kako uporabiti ta orodja v delovnem procesu, ne boste nikoli razmišljali o vrnitvi.