11 Web-kehittäjien riippuvuuden hallintatyökalut
Riippuvuudet ovat nykyaikaisen web-kehityksen kulmakivi. Nämä ovat tarvittavat työkalut, laajennukset, kirjastot ja kehykset korkean tason web-sovellusten rakentamiseen.
Pelkästään riippuvuuksien määrä on kasvanut viime vuosina. Ajan mittaan kehittäjät ovat ottaneet käyttöön riippuvuuden hallintatyökaluja, jotka lievittää riippuvuuksien ylläpitämisen stressiä ja ajantasaisuutta. Nämä työkalut johtavat kehittäjien ja projektipäälliköiden optimoimaan työnkulun.
Olen luetteloinut parhaat riippuvuusvälineet täällä, mukaan lukien sekä vakiintuneet että äskettäin kehittyvät alustat. Ammattimainen web-kehitys vaatii jatkuvaa oppimista ja väittäisin, että riippuvuuden hallinta on taito, joka kannattaa oppia.
1. NPM
En voinut kirjoittaa tätä opasta antamatta luottoa Node Package Managerille. Tämä järjestelmä on rakennettu Node.js-järjestelmään 100 000+ paketteja ja moduuleja.
Jokainen projekti voi käyttää paketin.json-tiedoston asetusta NPM: n kautta ja jopa hallita Gulpilla (solmulla). Riippuvuudet voidaan päivittää ja optimoida suoraan terminaalista. Voit myös rakentaa uusia projekteja, joissa on riippuvuustiedostot ja versionumerot, jotka vedetään automaattisesti package.json-tiedostosta.
NPM on arvokasta enemmän kuin pelkästään riippuvuuden hallinta, ja se on käytännöllisesti katsoen välttämätön työkalu nykyaikaiselle web-kehitykselle. Jos olet hämmentynyt, tutustu tähän Reddit-langaan aloittelijan selitystä varten.
2. Bower
Pakettien hallintajärjestelmä Bower toimii NPM: llä, joka tuntuu hieman tarpeettomalta, mutta näiden kahden välillä on ero, erityisesti että NPM tarjoaa enemmän ominaisuuksia, kun taas Bower pyrkii käyttämään tiedostojen ja latausaikojen vähentäminen Frontend-riippuvuuksia.
Tutustu tähän Stack-kysymykseen saadaksesi lisätietoja hienovaraisista eroista.
Jotkut devit väittävät, että Bower on periaatteessa vanhentunut, koska se toimii NPM: llä, joka voi tehdä lähes kaiken, mitä Bower voi tehdä. Yleisesti ottaen tämä ei ole väärin.
Mutta devien pitäisi ymmärtää, että Bower voi optimoi työnkulun erityisesti frontend-riippuvuuksien kanssa. Suosittelen, että Ben McCormickin artikkeli on Bower Hyödyllistä oppia lisää arvosta, jota tarjotaan molemmista pakettienhallintatyökaluista.
3. RubyGems
RubyGems on Rubyn pakettienhallinta, jolla on suuri suosio web-kehittäjien keskuudessa. Hanke on avoimen lähdekoodin ja sisältää kaikki ilmaiset Ruby-jalokivet.
Lyhyt katsaus aloittelijoille, a “helmi” on vain joitakin koodi, joka toimii Ruby-ympäristössä. Tämä voi johtaa sellaisiin ohjelmiin kuin Bundler, jotka hallitsevat helmi-versioita ja pitävät kaikki ajan tasalla.
Rails-kehittäjät rakastavat tätä ominaisuutta, mutta entä frontend-paketit? Koska Ruby on avoimen lähdekoodin, kehittäjät voivat rakentaa hankkeita, kuten Bower for Rails. Tämä tuo frontend-pakettien hallinnan Ruby-alustalle pienellä oppimiskäyrällä.
4. RequireJS
RequireJS: ssä on jotain erityistä siinä, että se on ensisijaisesti JS-työkalu. Sitä voidaan käyttää JS-moduulien lataaminen nopeasti mukaan lukien solmu- moduulit.
RequireJS voi tunnistaa automaattisesti tarvittavat riippuvuudet perustuu siihen, mitä käytät, joten tämä saattaa olla samanlainen kuin klassinen ohjelmointi C / C ++: ssa, jossa kirjastot sisältyvät muihin kirjastoihin.
Löydät mielenkiintoisen GitHub-keskustelun tästä aiheesta ja sen tarjoamasta arvosta modernit web-kehittäjät. Muiden JS: n hallintatyökalujen, kuten verkkopaketin, käyttö on lisääntynyt, RequireJS toimii edelleen tuotantoympäristöissä. Ja jos se toimii sinulle, se on tärkeää.
5. Tukos
Selainpohjainen pakettien hallinta tulee uuteen muotoon JamJS: n kanssa. Tämä on JavaScript-paketinhallinta, jossa automaattinen hallinta on samanlainen kuin RequireJS.
Kaikki riippuvuutesi ovat vedetään yhteen JS-tiedostoon, jonka avulla voit lisätä ja poistaa kohteita nopeasti. Lisäksi nämä voidaan päivittää selaimessa riippumatta muista käyttämistänne työkaluista (kuten RequireJS).
Kirjastot päivitetään päätelaitteen uusimpien versioiden perusteella. Jokainen projekti voi olla luotu automaattisesti optimoitujen komponenttien avulla perustuen sinun tarpeesi. Jam on ilmainen GitHubissa ja kannattaa katsoa, jos sinulla on aikaa.
6. Selaa
Useimmat kehittäjät tietävät Browserifystä, vaikka se ei kuulu niiden tyypilliseen työnkulkuun. Tämä on toinen riippuvuudenhallintatyökalu, joka optimoi tarvittavat moduulit ja kirjastot yhdistämällä ne yhteen.
Nämä niput ovat tuettu selaimessa mikä tarkoittaa, että voit sisällyttää ja yhdistää moduulit tavalliseen JavaScriptiin. Tarvitset vain NPM: n, jotta pääset alkuun.
Tarkista tämä intro-opetusohjelma, miten Node voidaan hallita suoraan selaimessa. GitHubissa on myös pitkä Browserify-käsikirja ilmaiseksi. Ajatuksena on tuoda kaikki nämä solmutyökalut selaimeen ja säästää aikaa automatisoimalla prosessi Browserify-toiminnolla.
7. Mantri
MantriJS on kasvun alkuvaiheessa keskipitkän ja korkean tason web-sovellusten riippuvuusjärjestelmä. Riippuvuuksia hallitaan nimiavaruuksien ja järjestetty toiminnallisesti, jotta vältetään törmäykset ja vähennetään sotkua.
Mantri on tällä hetkellä v0.2.2: ssa kirjoituksen aikaan. Se on täysin avoin lähdekoodi ja rakennettu monimutkaisemmille web-sovelluksille, jotka vaativat suuria riippuvuuksia. Mantri pyrkii noudattamaan modulaarisia ohjelmointikäytäntöjä ja toivoo kannustavan kehittäjiä samaan suuntaan.
8. Volo
Projektinhallintatyökalu volo on avoimen lähdekoodin NPM-repo, joka voi luoda projekteja, lisätä kirjastoja ja automatisoida työnkulkuja.
Volo kulkee solmun sisällä ja perustuu JavaScriptin hallintaan. Lyhyt esittelyopas löytyy GitHubista, joka selittää asennuksen ja yleisen käytön. Jos esimerkiksi suoritat komennon volo luo
voit liittää minkä tahansa kirjaston kuten HTML5 Boilerplate.
Mutta sen lisäksi, että luodaan uusia projekteja, voit myös lisää / päivitä vanhempien projektien kirjastoja. Volo sitoo kaiken, mitä tarvitset frontend-kehityksessä. Tutustu volo: n suunnittelutavoitteisiin nähdäksesi, miten se toimii todellisessa projektissa.
9. Ender
Ender on “kirjaston kirjasto” ja on yksi kevyimmistä pakettien hallinnoijista, jotka löydät verkossa. Sen avulla devs voi etsi JS-paketteja ja asenna / koota ne suoraan komentoriviltä. Enderin ajatellaan olevan “NPM: n pikkusisko” dev-tiimi.
Luonnollisesti koko Ender-kehys on saatavilla ilmaiseksi GitHubissa. Se on yksinkertaisesti työkalu, jonka asennat auttamaan hallita paikallisten projektien etupaneelin JavaScript-kehysten kulutusta. Kaikkien on tarkoitus kulkea helppokäyttöisimmällä mahdollisuudella frontend-kehittäjän työnkulussa.
Enderin tärkeimmällä verkkosivustolla on laadukkaita asiakirjoja, joten on syytä tarkastella, jos olet kiinnostunut.
10. pip
Suositeltava menetelmä Python-riippuvuuksien asentamiseksi on pip. Tämä työkalu on luotu Python Packaging Authorityn toimesta ja se on täysin avoimen lähdekoodin tavoin kuin Python itse.
Suurin osa Pythonin kehittäjistä suosittelee pip: ia riippuvuuksista, mukaan lukien Django-tiimi. Olitpa vain aloittamassa Pythonia tai jo käyttänyt sitä johdonmukaisesti backend-kehityksen avulla, tämä on pakettienhallinta, jolla on ilo olla työkalupakissa.
11. Säveltäjä
Säveltäjä on paketinhallinta, joka on hyvin samanlainen kuin NPM, mutta se keskittyy pelkästään PHP-kirjastoihin. Löydät luettelon Packagistin riippuvuuksista, joihin sisältyy suuria PHP-kehyksiä, kuten Laravel.
Jos olet PHP-kehittäjä kaikenlaista olen erittäin suositeltavaa tarkastella säveltäjää. Sen helppo aloittaa, mutta vaikea asentaa työnkulkuun. Käytännössä siitä tulee myös PHP dev -hankkeita.
Tämä on monipuolinen työkalu, jonka potentiaali kasvaa entisestään. Plus NPM voi sekoittaa Composerin kanssa luomaan frontend + backend-riippuvuuden hallintajärjestelmän kaikille PHP / JS-projekteillesi.
Käärimistä
On selvää, että monilla näistä riippuvuusjohtajista on samanlaisia piirteitä, joilla on samanlaiset ominaisuudet. Jotkut on rakennettu ratkaista vaihtoehtoisia ongelmia ja voivat jopa toimia yhdessä toistensa kanssa (ts. säveltäjä ja NPM).
Riippuvuuden hallinta voi olla vaikeaa uusille kehittäjille. Suosittelen, että valitsen yhden näistä työkaluista ja tutkimalla perusteellisesti oppia mahdollisimman paljon. Yritä rakentaa pieniä webappeja ja oppia, miksi riippuvuuden hallinta on hyödyllistä.
Kun opit käyttämään näitä työkaluja työnkulkuun, et koskaan harkitse paluuta.