Startseite » Toolkit » 11 Tools zur Abhängigkeitsverwaltung für Webentwickler

    11 Tools zur Abhängigkeitsverwaltung für Webentwickler

    Abhängigkeiten sind ein Eckpfeiler der modernen Webentwicklung. Dies sind die erforderlichen Tools, Plugins, Bibliotheken und Frameworks notwendig, um Webanwendungen auf hoher Ebene zu erstellen.

    Die schiere Anzahl von Abhängigkeiten hat in den letzten Jahren stark zugenommen. Im Laufe der Zeit haben Entwickler Werkzeuge für das Abhängigkeitsmanagement eingeführt den Stress von organisierten und aktuellen Abhängigkeiten zu lindern. Diese Tools führen zu einem optimierten Workflow für Entwickler und Projektmanager.

    Ich habe hier die besten Abhängigkeitstools katalogisiert, einschließlich etablierter und neu entstehender Plattformen. Professionelle Webentwicklung erfordert kontinuierliches Lernen, und ich würde argumentieren, dass Abhängigkeitsmanagement eine lernenswerte Fähigkeit ist.

    1. NPM

    Ich konnte diesen Leitfaden nicht schreiben, ohne dem Node Package Manager eine Anerkennung zu geben. Dieses auf Node.js aufgebaute System verfügt über ein enormes Repository 100.000 Pakete und Module.

    Für jedes Projekt kann eine package.json-Datei über NPM eingerichtet und sogar mit Gulp (auf Node) verwaltet werden. Abhängigkeiten können direkt vom Terminal aus aktualisiert und optimiert werden. Und Sie können neue Projekte mit Abhängigkeitsdateien und Versionsnummern erstellen, die automatisch aus der package.json-Datei abgerufen werden.

    NPM ist nicht nur für das Abhängigkeitsmanagement von Nutzen, sondern auch ein unverzichtbares Werkzeug für die moderne Webentwicklung. Wenn Sie verwirrt sind, lesen Sie diesen Reddit-Thread für eine Erklärung für Anfänger.

    2. Bower

    Das Paketverwaltungssystem Bower läuft auf NPM, was ein wenig redundant erscheint, aber es gibt einen Unterschied zwischen den beiden, insbesondere, dass NPM mehr Funktionen bietet, während Bower ein Ziel hat Reduzierung der Dateigröße und Ladezeiten für Frontend-Abhängigkeiten.

    In dieser Stack-Frage erfahren Sie mehr über die subtilen Unterschiede.

    Einige Entwickler behaupten, dass Bower im Grunde veraltet ist, da es auf NPM läuft, einem Dienst, der fast alles kann, was Bower kann. Im Allgemeinen ist das nicht falsch.

    Aber Entwickler sollten Bower erkennen können Optimieren Sie den Workflow speziell mit Frontend-Abhängigkeiten. Ich empfehle Ben McCormicks Artikel Is Bower Nützlich, um mehr über die Vorteile der beiden Paketverwaltungstools zu erfahren.

    3. RubyGems

    RubyGems ist ein Paket-Manager für Ruby, der bei Web-Entwicklern sehr beliebt ist. Das Projekt ist Open Source und beinhaltet alle kostenlosen Ruby-Edelsteine.

    Um einen kurzen Überblick für Anfänger zu geben, a “Juwel” ist nur einige Code, der in einer Ruby-Umgebung ausgeführt wird. Dies kann zu Programmen wie Bundler führen, die die Gem-Versionen verwalten und alles auf dem neuesten Stand halten.

    Rails-Entwickler werden diese Funktion lieben, aber was ist mit Frontend-Paketen? Da Ruby Open Source ist, können Entwickler Projekte wie Bower for Rails erstellen. Dies bringt die Frontend-Paketverwaltung mit einer kleinen Lernkurve auf die Ruby-Plattform.

    4. RequireJS

    RequireJS zeichnet sich dadurch aus, dass es sich hauptsächlich um ein JS-Toolset handelt. Es kann für verwendet werden JS-Module schnell laden, einschließlich Node-Module.

    RequireJS kann Erforderliche Abhängigkeiten automatisch erkennen Je nachdem, was Sie verwenden, kann dies mit der klassischen Softwareprogrammierung in C / C ++ vergleichbar sein, wobei Bibliotheken in weiteren Bibliotheken enthalten sind.

    Sie finden eine interessante GitHub-Diskussion zu diesem Thema und den Nutzen, den moderne Webentwickler bieten. Obwohl andere JS-Management-Tools wie Webpack aufgetaucht sind, funktioniert RequireJS auch in Produktionsumgebungen. Und wenn es für Sie funktioniert, ist das alles, worauf es ankommt.

    5. Stau

    Die browserbasierte Paketverwaltung kommt mit JamJS in einer neuen Form. Dies ist ein JavaScript-Paket-Manager mit automatischer Verwaltung, ähnlich wie bei RequireJS.

    Alle deine Abhängigkeiten sind in einer einzigen JS-Datei gespeichert, in der Sie hinzufügen und entfernen können Artikel schnell. Außerdem können diese im Browser aktualisiert werden, unabhängig von anderen von Ihnen verwendeten Tools (wie RequireJS)..

    Bibliotheken werden basierend auf den neuesten Versionen über das Terminal aktualisiert. Jedes Projekt kann sein automatisch mit optimierten Komponenten erstellt beyogen auf Deine Bedürfnisse. Jam ist kostenlos auf GitHub und lohnt einen Blick, wenn Sie Zeit haben.

    6. Browserify

    Die meisten Entwickler kennen Browserify, auch wenn dies nicht zu ihrem typischen Workflow gehört. Dies ist ein weiteres Tool zur Verwaltung von Abhängigkeiten, das die erforderlichen Module und Bibliotheken durch Bündelung optimiert.

    Diese Bündel sind im Browser unterstützt Was bedeutet, dass Sie können Include und Merge Module mit einfachem JavaScript. Alles, was Sie brauchen, ist NPM, um loszulegen, und dann Browserify, um sich zu bewegen.

    In diesem Intro-Tutorial erfahren Sie, wie Node direkt im Browser verwaltet werden kann. Es gibt auch ein umfangreiches Browserify-Handbuch, das kostenlos auf GitHub gehostet wird. Die Idee ist, all diese Node-Tools in den Browser zu integrieren und Zeit zu sparen, indem der Prozess mit Browserify automatisiert wird.

    7. Mantri

    MantriJS befindet sich noch in einem frühen Wachstumspfad und ist ein Abhängigkeitssystem für Webanwendungen mittlerer bis hoher Ebene. Abhängigkeiten werden über Namespaces und verwaltet Funktionell organisiert, um Kollisionen zu vermeiden und Störungen zu vermeiden.

    Mantri ist derzeit zum Zeitpunkt des Schreibens auf v0.2.2. Es ist komplett Open Source und Entwickelt für komplexere Webanwendungen, die große Abhängigkeiten erfordern. Mantri ist bestrebt, modulare Programmierpraktiken zu befolgen, und hofft, Entwickler auf denselben Weg zu bringen.

    8. Volo

    Das Projektmanagement-Tool volo ist ein Open Source-NPM-Repo, mit dem Sie Projekte erstellen, Bibliotheken hinzufügen und Workflows automatisieren können.

    Volo läuft innerhalb von Node und setzt für die Projektverwaltung auf JavaScript. Auf GitHub finden Sie eine kurze Einführung, die den Installationsprozess und die allgemeine Verwendung erläutert. Zum Beispiel, wenn Sie den Befehl ausführen volo erstellen Sie können jede Bibliothek wie HTML5 Boilerplate anbringen.

    Aber neben dem Erstellen neuer Projekte können Sie auch Bibliotheken für ältere Projekte hinzufügen / aktualisieren. Volo ist an alles gebunden, was Sie für die Frontend-Entwicklung benötigen. Sehen Sie sich die Design-Ziele von volo an, um zu sehen, wie es in einem realen Projekt funktioniert.

    9. Ender

    Ender ist das “Bibliothek ohne Bibliothek” und ist einer der leichtesten Paketmanager, die Sie online finden können. Es erlaubt devs zu Durchsuchen Sie JS-Pakete und installieren / kompilieren Sie sie direkt über die Befehlszeile. Ender wird als gedacht “NPMs kleine Schwester” vom Dev-Team.

    Natürlich ist das gesamte Ender-Framework kostenlos auf GitHub verfügbar. Es ist einfach ein Tool, das Sie installieren, um zu helfen Verwalten Sie den Verbrauch von Frontend-JavaScript-Frameworks für lokale Projekte. Alles ist so konzipiert, dass der Workflow eines Frontend-Entwicklers optimal genutzt werden kann.

    Die Haupt-Website von Ender enthält eine Qualitätsdokumentation, daher ist es bei Interesse einen Blick wert.

    10. pip

    Die empfohlene Methode für die Installation von Python-Abhängigkeiten ist die Verwendung von Pip. Dieses Tool wurde von der Python Packaging Authority erstellt und ist wie Python selbst vollständig Open Source.

    Die Mehrheit der Python-Entwickler empfiehlt Pip für Abhängigkeiten, einschließlich des Django-Teams. Egal, ob Sie gerade mit Python beginnen oder es bereits konsequent bei der Backend-Entwicklung einsetzen, dies ist ein Paket-Manager, den Sie gerne in Ihrer Toolbox haben werden.

    11. Komponist

    Composer ist ein Paket-Manager, der NPM sehr ähnlich ist, jedoch ausschließlich auf PHP-Bibliotheken. Auf Packagist finden Sie eine Liste der Abhängigkeiten, die große PHP-Frameworks wie Laravel enthält.

    Ob Du bist ein PHP-Entwickler Ich empfehle ernsthaft, in Composer zu suchen. Es ist einfach zu beginnen, aber schwer zu montieren in Ihren Workflow. Mit etwas Übung wird es jedoch zur Grundausstattung für PHP-Entwicklerprojekte.

    Dies ist ein vielseitiges Werkzeug mit dem Potenzial, mit der Zeit noch größer zu werden. Außerdem kann NPM mit Composer kombiniert werden, um ein Frontend- und Backend-Abhängigkeitsverwaltungssystem für alle Ihre PHP / JS-Projekte zu erstellen.

    Einpacken

    Es ist klar, dass viele dieser Abhängigkeitsmanager ähnliche Merkmale mit ähnlichen Qualitäten aufweisen. Einige sind gebaut alternative Probleme lösen und können sogar im Tandem miteinander laufen (z. B. Composer und NPM).

    Das Thema Abhängigkeitsmanagement kann für neue Entwickler schwierig sein. Ich empfehle, eines dieser Werkzeuge zu wählen und gründlich zu recherchieren, um so viel wie möglich zu lernen. Erstellen Sie kleine Webapps, und erfahren Sie, warum Abhängigkeitsmanagement nützlich ist.

    Wenn Sie erst einmal gelernt haben, wie Sie diese Tools in Ihren Workflow anwenden, werden Sie niemals in Erwägung ziehen, zurückzukehren.