11 Strumenti di gestione delle dipendenze per sviluppatori Web
Le dipendenze sono una pietra miliare del moderno sviluppo web. Questi sono gli strumenti richiesti, i plugin, le librerie e le strutture necessario per creare applicazioni Web di alto livello.
L'enorme numero di dipendenze è salito alle stelle negli ultimi anni. Nel tempo gli sviluppatori hanno adottato strumenti di gestione delle dipendenze che alleviare lo stress di mantenere le dipendenze organizzate e aggiornate. Questi strumenti portano a un flusso di lavoro ottimizzato per sviluppatori e project manager.
Ho catalogato i migliori strumenti di dipendenza qui includendo sia piattaforme consolidate che emergenti. Lo sviluppo web professionale richiede un apprendimento continuo e direi che la gestione delle dipendenze è uno skillset che vale la pena di imparare.
1. NPM
Non ho potuto scrivere questa guida senza dare credito al Gestore pacchetti Node. Costruito su Node.js, questo sistema alimenta un enorme repository di Oltre 100.000 pacchetti e moduli.
Ogni progetto può utilizzare un setup di file package.json tramite NPM e persino gestito con Gulp (su Node). Le dipendenze possono essere aggiornate e ottimizzate direttamente dal terminale. Ed è possibile creare nuovi progetti con file di dipendenza e numeri di versione estratti automaticamente dal file package.json.
NPM è prezioso oltre alla semplice gestione delle dipendenze ed è praticamente uno strumento indispensabile per lo sviluppo moderno del web. Se sei confuso per favore controlla questo thread Reddit per la spiegazione di un principiante.
2. Bower
Il sistema di gestione dei pacchetti Bower funziona su NPM, che sembra un po 'ridondante ma c'è una differenza tra i due, in particolare che NPM offre più funzioni mentre Bower punta a un riduzione dei tempi di caricamento e di file per le dipendenze frontend.
Dai un'occhiata a questa domanda Stack per saperne di più sulle sottili differenze.
Alcuni sviluppatori sostengono che Bower è fondamentalmente obsoleto poiché viene eseguito su NPM, un servizio che può fare quasi tutto ciò che può fare Bower. In generale questo non è sbagliato.
Ma gli sviluppatori dovrebbero realizzare Bower ottimizzare il flusso di lavoro specificamente con le dipendenze frontend. Raccomando l'articolo di Ben McCormick Is Bower utile per saperne di più sul valore offerto da entrambi gli strumenti di gestione dei pacchetti.
3. RubyGems
RubyGems è un gestore di pacchetti per Ruby con un'alta popolarità tra gli sviluppatori web. Il progetto è open source e include tutte le gemme Ruby gratuite.
Per dare una breve panoramica per i principianti, a “gemma” sono solo alcuni codice che gira su un ambiente Ruby. Questo può portare a programmi come Bundler che gestiscono le versioni gem e mantengono tutto aggiornato.
Gli sviluppatori di Rails adoreranno questa funzione, ma per quanto riguarda i pacchetti di frontend? Dato che Ruby è open source, gli sviluppatori possono creare progetti come Bower for Rails. Questo porta la gestione dei pacchetti frontend alla piattaforma Ruby con una piccola curva di apprendimento.
4. RequireJS
C'è qualcosa di speciale in RequireJS in quanto è principalmente un set di strumenti JS. Può essere usato per caricamento veloce di moduli JS inclusi moduli Node.
RequireJS can rileva automaticamente le dipendenze richieste in base a ciò che stai usando, questo potrebbe essere simile alla classica programmazione software in C / C ++, dove le librerie sono incluse con ulteriori librerie.
Troverai un'interessante discussione su GitHub su questo argomento e il valore che offre ai moderni sviluppatori web. Concessi altri strumenti di gestione JS come il webpack sono spuntati, RequireJS funziona ancora negli ambienti di produzione. E se funziona per te è tutto ciò che conta.
5. Inceppamento
La gestione dei pacchetti basata su browser ha una nuova forma con JamJS. Questo è un gestore di pacchetti JavaScript con gestione automatica simile a RequireJS.
Tutte le tue dipendenze sono inserito in un singolo file JS che consente di aggiungere e rimuovere articoli rapidamente. Inoltre, questi possono essere aggiornati nel browser indipendentemente dagli altri strumenti che stai usando (come RequireJS).
Le librerie vengono aggiornate in base alle ultime versioni tramite il terminale. Ogni progetto può essere creato automaticamente con componenti ottimizzati basato su I tuoi bisogni. Jam è gratuito su GitHub e vale la pena dare un'occhiata se ne hai il tempo.
6. Browserify
La maggior parte degli sviluppatori sa di Browserify anche se non fa parte del loro tipico flusso di lavoro. Questo è un altro strumento di gestione delle dipendenze che ottimizza i moduli e le librerie richiesti raggruppandoli insieme.
Questi pacchetti sono supportato nel browser il che significa che puoi includere e unire moduli con JavaScript semplice. Tutto ciò di cui hai bisogno è NPM per iniziare e quindi Browserify per muoversi.
Dai un'occhiata a questo tutorial introduttivo per vedere come il Nodo può essere gestito direttamente nel browser. C'è anche un lungo manuale di Browserify ospitato su GitHub gratuitamente. L'idea è di portare tutti questi strumenti Node nel browser e di risparmiare tempo automatizzando il processo con Browserify.
7. Mantri
Ancora nelle prime fasi di crescita, MantriJS è un sistema di dipendenza per applicazioni Web di livello medio-alto. Le dipendenze sono gestite tramite namespace e organizzato in modo funzionale per evitare collisioni e ridurre l'ingombro.
Mantri è attualmente in v0.2.2 al momento della scrittura. È completamente open source e costruito per applicazioni web più complesse che richiedono grandi pacchetti di dipendenze. Mantri mira a seguire pratiche di programmazione modulare e spera di incoraggiare gli sviluppatori sullo stesso percorso.
8. Volo
Lo strumento di gestione del progetto volo è un repository NPM open source in grado di creare progetti, aggiungere librerie e automatizzare i flussi di lavoro.
Volo gira all'interno del nodo e si basa su JavaScript per la gestione del progetto. Una breve guida introduttiva può essere trovata su GitHub che spiega il processo di installazione e l'uso comune. Ad esempio se si esegue il comando volo creare
puoi apporre qualsiasi libreria come HTML5 Boilerplate.
Ma oltre a creare nuovi progetti puoi anche aggiungere / aggiornare librerie per progetti precedenti. Volo lega tutto ciò di cui hai bisogno per lo sviluppo del frontend. Controlla gli obiettivi di progettazione di volo per vedere come funziona in un progetto reale.
9. Ender
Ender è il “libreria senza libreria” ed è uno dei più leggeri gestori di pacchetti che troverai online. Permette agli sviluppatori di cercare tra i pacchetti JS e installarli / compilarli direttamente dalla riga di comando. Ender è pensato come “La sorellina di NPM” dalla squadra di sviluppo.
Naturalmente l'intero framework Ender è disponibile gratuitamente su GitHub. È semplicemente uno strumento che si installa per aiutare gestire il consumo di framework JavaScript frontend per progetti locali. Tutto è pensato per funzionare con facilità al massimo potenziale per il flusso di lavoro di uno sviluppatore di frontend.
Il sito Web principale di Ender ha una documentazione di qualità, quindi vale la pena dare un'occhiata se sei interessato.
10. pip
Il metodo consigliato per l'installazione delle dipendenze Python è tramite pip. Questo strumento è stato creato dalla Python Packaging Authority ed è completamente open source proprio come Python stesso.
La maggior parte degli sviluppatori Python consiglia pip per le dipendenze incluso il team Django. Sia che tu stia appena iniziando con Python o lo usi già in modo coerente con lo sviluppo del backend, questo è un gestore di pacchetti che sarai felice di avere nella tua casella degli strumenti.
11. Compositore
Composer è un gestore di pacchetti molto simile a NPM, ma è focalizzato esclusivamente sulle librerie PHP. Puoi trovare un elenco di dipendenze su Packagist che include framework PHP di grandi dimensioni come Laravel.
Se sei uno sviluppatore PHP di qualsiasi tipo raccomando seriamente di guardare nel compositore. Suo facile da iniziare ma difficile da montare nel tuo flusso di lavoro. Tuttavia con la pratica diventerà un punto fermo per i progetti di sviluppo PHP.
Questo è uno strumento versatile con il potenziale per crescere ancora più grande nel tempo. Inoltre, NPM può essere combinato con Composer per creare un sistema di gestione delle dipendenze frontend + backend per tutti i tuoi progetti PHP / JS.
Avvolgendo
È chiaro che molti di questi manager delle dipendenze hanno caratteristiche simili con qualità simili. Alcuni sono costruiti per risolvere problemi alternativi e può anche funzionare in tandem tra loro (ad esempio Composer e NPM).
L'argomento della gestione delle dipendenze può essere difficile per i nuovi sviluppatori. Consiglio di scegliere uno di questi strumenti e di approfondire la ricerca per imparare il più possibile. Prova a creare piccole applicazioni web e scopri perché la gestione delle dipendenze è utile.
Una volta che impari come applicare questi strumenti nel tuo flusso di lavoro, non penserai mai di tornare indietro.