11 Instrumente de gestionare a dependenței pentru dezvoltatorii web
Dependentele reprezintă o piatră de temelie a dezvoltării web moderne. Acestea sunt instrumentele, pluginurile, bibliotecile și cadrele necesare necesare pentru a construi aplicații web la nivel înalt.
Numarul mare de dependente a crescut foarte mult in ultimii ani. În timp dezvoltatorii au adoptat instrumente de gestionare a dependenței care atenuarea stresului de a menține dependențele organizate și actualizate. Aceste instrumente duc la un flux de lucru optimizat pentru dezvoltatori și managerii de proiect.
Am catalogat cele mai bune instrumente de dependență de aici, incluzând atât platforme bine stabilite, cât și noi. Dezvoltarea web profesională necesită învățare continuă și aș susține că managementul dependenței este o metodă de învățare.
1. NPM
Nu am putut scrie acest ghid fără a acorda credit Node Package Manager. Construit pe Node.js, acest sistem administrează un depozit extraordinar de 100.000 pachete și module.
Fiecare proiect poate folosi o configurare a pachetului package.json prin NPM și chiar și cu Gulp (pe Nod). Dependențele pot fi actualizate și optimizate chiar de la terminal. Și puteți construi noi proiecte cu fișiere de dependență și numere de versiune extrase automat din fișierul package.json.
NPM este valoroasă pentru mai mult decât managementul dependenței, și este practic un instrument de must-know pentru dezvoltarea web modernă. Dacă sunteți confuz, vă rugăm să verificați acest fir Reddit pentru explicația începătorului.
2. Bower
Sistemul de gestionare a pachetelor Bower rulează pe NPM, ceea ce pare puțin redundant, dar există o diferență între cele două, în special că NPM oferă mai multe caracteristici în timp ce Bower urmărește o reducerea numărului de fișiere și a timpilor de încărcare pentru dependențele frontend.
Consultați această întrebare Stack pentru a afla mai multe despre diferențele subtile.
Unii dintre ei susțin că Bower este în mod obișnuit depășită, deoarece rulează pe NPM, un serviciu care poate face aproape tot ce poate face Bower. În general, acest lucru nu este greșit.
Dar devs ar trebui să realizeze Bower can optimizați fluxul de lucru în mod special cu dependențele frontend. Vă recomandăm articolul lui Ben McCormick Is Bower Utile pentru a afla mai multe despre valoarea oferită de ambele instrumente de gestionare a pachetelor.
3. RubyGems
RubyGems este un manager de pachete pentru Ruby, cu o mare popularitate în rândul dezvoltatorilor web. Proiectul este open source și include toate pietrele Ruby gratuite.
Pentru a oferi o scurtă prezentare generală pentru începători, a “bijuterie” este doar unii cod care rulează pe un mediu Ruby. Acest lucru poate duce la programe ca Bundler care gestionează versiunile de bijuterii și păstrează totul actualizat.
Dezvoltatorii Rails se vor bucura de această caracteristică, dar cum rămâne cu pachetele frontend? Din moment ce Ruby este open source, dezvoltatorii pot construi proiecte precum Bower for Rails. Acest lucru aduce gestionarea pachetelor frontend la platforma Ruby cu o curba de invatare mica.
4. Cerințe JS
Există ceva special în ceea ce privește RequireJS în sensul că este în primul rând un set de instrumente JS. Poate fi folosit pentru încărcarea rapidă a modulelor JS, inclusiv modulele de noduri.
RequireJS poate detectează automat dependențele necesare bazat pe ceea ce utilizați, astfel încât acest lucru ar putea fi asemănător programului de programare clasic în C / C ++ unde bibliotecile sunt incluse în alte biblioteci.
Veți găsi o interesantă discuție GitHub pe această temă și valoarea pe care o oferă dezvoltatorilor web moderni. Acordate alte instrumente de management JS, cum ar fi webpack, au apărut, RequireJS încă funcționează în medii de producție. Și dacă funcționează pentru tine, tot ce contează.
5. Gem
Gestionarea pachetelor bazate pe browser vine într-o formă nouă cu JamJS. Acesta este un manager de pachete JavaScript cu gestionare automată similară cu RequireJS.
Toate dependențele tale sunt tras într-un singur fișier JS care vă permite să adăugați și să eliminați articole rapid. În plus, acestea pot fi actualizate în browser, indiferent de alte instrumente pe care le folosiți (cum ar fi RequireJS).
Bibliotecile sunt actualizate pe baza celor mai recente versiuni prin terminal. Fiecare proiect poate fi create automat cu componente optimizate bazat pe nevoile tale. Jam-ul este gratuit pe GitHub și merită privit dacă ai timp.
6. Navigați
Cei mai mulți dezvoltatori cunosc Browserify chiar dacă nu fac parte din fluxul lor de lucru tipic. Acesta este un alt instrument de gestionare a dependenței care optimizează modulele și bibliotecile necesare, prin legarea lor împreună.
Aceste pachete sunt suportate în browser ceea ce înseamnă că puteți include și combina module cu JavaScript simplu. Tot ce ai nevoie este NPM pentru a începe și apoi navighează pentru a te mișca.
Consultați acest tutorial intro pentru a vedea cum poate fi gestionat nodul în browser. Există, de asemenea, un ghid de browser de lungă durată găzduit gratuit pe GitHub. Ideea este să aducem toate aceste instrumente Nod în browser și să economisim timp prin automatizarea procesului cu Browserify.
7. Mantri
Încă în stadiile incipiente de creștere, MantriJS este un sistem de dependență pentru aplicațiile web de nivel mediu și mare. Dependențele sunt gestionate prin intermediul spațiilor de nume și organizate în mod funcțional pentru a evita coliziunile și pentru a reduce dezordinea.
Mantri este în prezent la v0.2.2 la momentul scrisului. Este complet sursa deschisa și construit pentru aplicații web complexe care necesită pachete mari de dependențe. Mantri urmărește să urmeze practicile modulare de programare și speră să încurajeze dezvoltatorii pe aceeași cale.
8. Volo
Instrumentul de management al proiectelor volo este un repo open source NPM care poate crea proiecte, adăuga biblioteci și automatiza fluxurile de lucru.
Volo rulează în Node și se bazează pe JavaScript pentru gestionarea proiectelor. Un ghid introductiv scurt poate fi găsit pe GitHub, care explică procesul de instalare și utilizarea obișnuită. De exemplu, dacă executați comanda volo crea
puteți aplica orice bibliotecă, cum ar fi Bootplate HTML5.
Dar, în afară de crearea de noi proiecte, puteți, de asemenea adăugați / actualizați bibliotecile pentru proiectele mai vechi. Volo leagă tot ceea ce ai nevoie pentru dezvoltarea frontend. Check out obiectivele de design ale lui Volo pentru a vedea cum funcționează într-un proiect din lumea reală.
9. Ender
Ender este “bibliotecă fără bibliotecă” și este unul dintre cei mai ușurați administratori de pachete pe care îi veți găsi online. Acesta permite dezvoltatorilor căutați prin pachetele JS și le instalați / compilați direct din linia de comandă. Ender este gândit ca “Sora mică a lui NPM” de echipa dev.
Firește, întregul cadru Ender este disponibil gratuit pe GitHub. Este pur și simplu un instrument pe care îl instalați pentru a vă ajuta gestionați consumul de cadre JavaScript frontend pentru proiecte locale. Totul este menit să ruleze cu ușurință la potențialul maxim pentru fluxul de lucru al dezvoltatorului de frontend.
Principalul site Web Ender are documentație de calitate, așa că merită o privire dacă sunteți interesat.
10. pip
Metoda recomandată pentru instalarea dependențelor Python este prin pip. Acest instrument a fost creat de către Autoritatea de ambalare Python și este complet deschis, la fel ca Python în sine.
Majoritatea dezvoltatorilor Python recomandă pip pentru dependențe, inclusiv echipa Django. Fie că pur și simplu începeți cu Python, fie că îl utilizați deja în mod consecvent cu dezvoltarea backendului, acesta este un manager de pachete pe care veți fi bucuros să îl aveți în setul de instrumente.
11. Compozitor
Compozitorul este un manager de pachete foarte asemănător cu NPM, dar se concentrează exclusiv pe bibliotecile PHP. Puteți găsi o listă a dependențelor de pe ambalator, care include cadre mari de PHP, cum ar fi Laravel.
Dacă esti dezvoltator PHP de orice fel recomand serios căutând în compozitor. este ușor de început, dar dificil de adaptat în fluxul de lucru. Cu toate acestea, cu practica aceasta va deveni un staple pentru proiectele PHP dev.
Acesta este un instrument versatil, cu potențialul de a crește și mai mult în timp. Plus NPM se poate amesteca cu Composer pentru a crea un sistem de gestionare a dependenței frontend + backend pentru toate proiectele dvs. PHP / JS.
Înfășurarea în sus
Este clar că mulți dintre acești administratori de dependență au trăsături similare cu calități similare. Unele sunt construite pentru a rezolvați probleme alternative și pot chiar să ruleze în tandem între ele (de exemplu, Compozitor și NPM).
Subiectul gestionării dependenței poate fi dificil pentru dezvoltatorii noi. Vă recomand să alegeți unul dintre aceste instrumente și să cercetați în profunzime pentru a învăța cât mai mult posibil. Încercați să construiți aplicații web mici și să aflați de ce este utilă gestionarea dependenței.
Odată ce ați învățat cum să aplicați aceste instrumente în fluxul de lucru, nu veți lua în considerare întoarcerea.