11 Outils de gestion des dépendances pour les développeurs Web
Les dépendances sont la pierre angulaire du développement Web moderne. Ce sont les outils, plugins, bibliothèques et frameworks nécessaires nécessaire pour construire des applications Web de haut niveau.
Le nombre de dépendances a explosé ces dernières années. Au fil du temps, les développeurs ont adopté des outils de gestion de la dépendance qui soulager le stress de garder les dépendances organisées et à jour. Ces outils conduisent à un flux de travail optimisé pour les développeurs et les chefs de projet.
J'ai répertorié ici les meilleurs outils de dépendance, notamment des plates-formes bien établies et des plates-formes émergentes. Le développement Web professionnel nécessite un apprentissage continu et je dirais que la gestion de la dépendance est une compétence qui vaut la peine d'être apprise.
1. MNP
Je ne pouvais pas écrire ce guide sans donner crédit au gestionnaire de paquets Node. Construit sur Node.js, ce système alimente un formidable référentiel de Plus de 100 000 paquets et modules.
Chaque projet peut utiliser un fichier package.json configuré via NPM et même géré avec Gulp (sur le noeud). Les dépendances peuvent être mises à jour et optimisées directement depuis le terminal. Et vous pouvez créer de nouveaux projets avec des fichiers de dépendance et des numéros de version extraits automatiquement du fichier package.json..
NPM est un outil précieux pour le développement Web moderne. Si vous êtes confus, veuillez consulter ce fil Reddit pour une explication du débutant..
2. Bower
Le système de gestion des paquets Bower fonctionne sur NPM, ce qui semble un peu redondant, mais il existe une différence entre les deux, notamment que NPM offre davantage de fonctionnalités, tandis que Bower vise une réduction de la taille du fichier et des temps de chargement pour les dépendances frontales.
Consultez cette question sur la pile pour en savoir plus sur les différences subtiles..
Certains développeurs soutiennent que Bower est fondamentalement obsolète, car il fonctionne sur NPM, un service capable de faire presque tout ce que Bower peut faire. D'une manière générale ce n'est pas faux.
Mais les développeurs devraient se rendre compte que Bower peut optimiser le flux de travail spécifiquement avec les dépendances frontales. Je recommande l'article de Ben McCormick Is Bower Utile pour en savoir plus sur la valeur offerte par les deux outils de gestion de paquets.
3. RubyGems
RubyGems est un gestionnaire de paquets pour Ruby qui jouit d'une grande popularité parmi les développeurs Web. Le projet est open source et inclut tous les joyaux Ruby gratuits.
Pour donner un bref aperçu pour les débutants, un “gemme” est juste un peu code qui fonctionne sur un environnement Ruby. Cela peut conduire à des programmes comme Bundler, qui gèrent les versions de gem et maintiennent tout le contenu à jour.
Les développeurs Rails adoreront cette fonctionnalité, mais qu'en est-il des packages frontaux? Ruby étant open source, les développeurs peuvent créer des projets tels que Bower for Rails. Cela apporte la gestion des paquets frontend à la plate-forme Ruby avec une petite courbe d'apprentissage.
4. RequireJS
RequireJS a quelque chose de spécial dans le sens où il s'agit principalement d'un jeu d'outils JS. Il peut être utilisé pour Chargement rapide des modules JS, y compris des modules de noeud.
RequireJS peut détecter automatiquement les dépendances requises en fonction de ce que vous utilisez, cela pourrait ressembler à la programmation logicielle classique en C / C ++ où les bibliothèques sont incluses avec d'autres bibliothèques.
Vous trouverez une discussion intéressante de GitHub sur ce sujet et sur la valeur qu'il offre aux développeurs Web modernes. Même si d'autres outils de gestion JS tels que webpack ont été créés, RequireJS fonctionne toujours dans les environnements de production. Et si cela fonctionne pour vous c'est tout ce qui compte.
5. Confiture
La gestion de paquets basée sur un navigateur se présente sous une nouvelle forme avec JamJS. Ceci est un gestionnaire de paquets JavaScript avec une gestion automatique similaire à RequireJS.
Toutes vos dépendances sont tiré dans un seul fichier JS qui vous permet d'ajouter et de supprimer articles rapidement. De plus, ceux-ci peuvent être mis à jour dans le navigateur, quels que soient les autres outils que vous utilisez (comme RequireJS)..
Les bibliothèques sont mises à jour sur la base des dernières versions via le terminal. Chaque projet peut être créé automatiquement avec des composants optimisés basé sur vos besoins. Jam est gratuit sur GitHub et vaut le détour si vous avez le temps.
6. Browserify
La plupart des développeurs connaissent Browserify même si cela ne fait pas partie de leur flux de travail typique. C’est un autre outil de gestion des dépendances qui optimise les modules et les bibliothèques requis en les regroupant.
Ces paquets sont supporté par le navigateur ce qui signifie que vous pouvez inclure et fusionner des modules avec JavaScript. NPM suffit pour commencer, puis Browserify pour bouger..
Consultez ce didacticiel d’introduction pour savoir comment gérer le nœud directement dans le navigateur. Il existe également un long manuel de Browserify hébergé gratuitement sur GitHub. L'idée est d'intégrer tous ces outils de nœuds dans le navigateur et de gagner du temps en automatisant le processus avec Browserify..
7. Mantri
MantriJS, qui en est à ses débuts de croissance, est un système de dépendance pour les applications Web de niveau moyen à élevé. Les dépendances sont gérées via des espaces de noms et organisé fonctionnellement pour éviter les collisions et réduire l'encombrement.
Mantri est actuellement à la v0.2.2 au moment de la rédaction. C'est complètement Open source et conçu pour les applications Web plus complexes nécessitant de nombreux ensembles de dépendances. Mantri vise à suivre les pratiques de programmation modulaire et espère encourager les développeurs sur le même chemin.
8. Volo
L'outil de gestion de projet volo est un référentiel NPM open source pouvant créer des projets, ajouter des bibliothèques et automatiser des flux de travail..
Volo fonctionne à l'intérieur de Node et s'appuie sur JavaScript pour la gestion de projet. Vous trouverez un bref guide d’introduction sur GitHub qui explique le processus d’installation et son utilisation courante. Par exemple si vous exécutez la commande volo créer
vous pouvez apposer n'importe quelle bibliothèque comme HTML5 Boilerplate.
Mais en plus de créer de nouveaux projets, vous pouvez aussi ajouter / mettre à jour des bibliothèques pour des projets plus anciens. Volo est lié à tout ce dont vous avez besoin pour le développement frontal. Découvrez les objectifs de conception de volo pour voir comment il fonctionne dans un projet réel.
9. Ender
Ender est le “bibliothèque sans bibliothèque” et est l’un des gestionnaires de paquets les plus légers que vous trouverez en ligne. Cela permet aux développeurs de rechercher dans les packages JS et les installer / les compiler directement à partir de la ligne de commande. Ender est considéré comme “La petite soeur de NPM” par l'équipe de dev.
Naturellement, tout le framework Ender est disponible gratuitement sur GitHub. C'est simplement un outil que vous installez pour vous aider gérer la consommation des cadres JavaScript frontaux pour les projets locaux. Tout est conçu pour fonctionner avec le maximum de potentiel pour le flux de travail d'un développeur frontend.
Le site Web principal d'Ender a une documentation de qualité, donc ça vaut le coup d'œil si ça vous intéresse.
10. pip
La méthode recommandée pour installer les dépendances Python consiste à utiliser pip. Cet outil a été créé par l'autorité de empaquetage Python et est complètement open source, tout comme Python lui-même..
La majorité des développeurs Python recommandent pip pour les dépendances, y compris l'équipe Django. Que vous soyez débutant avec Python ou que vous l'utilisiez déjà de manière cohérente avec le développement du backend, c'est un gestionnaire de paquets que vous serez ravi d'avoir dans votre boîte à outils.
11. Compositeur
Composer est un gestionnaire de paquets très similaire à NPM, mais il se concentre uniquement sur les bibliothèques PHP. Vous pouvez trouver une liste de dépendances sur Packagist incluant de grands frameworks PHP tels que Laravel..
Si vous êtes un développeur PHP de toute sorte, je recommande sérieusement de regarder dans Composer. Ses facile à démarrer mais difficile à adapter dans votre flux de travail. Cependant, avec la pratique, cela deviendra un incontournable pour les projets de développement PHP.
C'est un outil polyvalent avec le potentiel de devenir encore plus grand dans le temps. De plus, NPM peut s’associer à Composer pour créer un système de gestion des dépendances frontale + backend pour tous vos projets PHP / JS..
Emballer
Il est clair que beaucoup de ces gestionnaires de dépendance ont des traits similaires avec des qualités similaires. Certains sont construits pour résoudre des problèmes alternatifs et peut même fonctionner en tandem (c.-à-d. Compositeur et NPM).
Le sujet de la gestion de la dépendance peut être difficile pour les nouveaux développeurs. Je recommande de choisir l'un de ces outils et de faire des recherches approfondies pour en apprendre le plus possible. Essayez de créer de petites applications Web et découvrez pourquoi la gestion des dépendances est utile..
Une fois que vous aurez appris à appliquer ces outils à votre flux de travail, vous n’envisagerez plus de revenir en arrière..