de.hideout-lastation.com
Paradies Für Designer Und Entwickler


11 Dependency Management Tools für Webentwickler

Abhängigkeiten sind ein Eckpfeiler der modernen Web-Entwicklung. Dies sind die erforderlichen Tools, Plugins, Bibliotheken und Frameworks, die zum Erstellen von High-Level-Webanwendungen erforderlich sind .

Die schiere Anzahl der Abhängigkeiten ist in den letzten Jahren sprunghaft angestiegen. Im Laufe der Zeit haben Entwickler Tools zur Abhängigkeitsverwaltung eingeführt, die den Stress, Abhängigkeiten organisiert und aktuell zu halten, verringern . Diese Werkzeuge führen zu einem optimierten Workflow für Entwickler und Projektmanager.

Ich habe die besten Abhängigkeiten-Tools hier katalogisiert, einschließlich sowohl etablierter als auch neu aufkommender Plattformen. Professionelle Web-Entwicklung erfordert kontinuierliches Lernen und ich würde argumentieren, Abhängigkeitsmanagement ist eine Fähigkeit zu lernen wert.

1. NPM

Ich konnte diesen Leitfaden nicht schreiben, ohne dem Node Package Manager Kredit zu geben. Dieses System baut auf Node.js auf und versorgt ein riesiges Repository von mehr als 100.000 Paketen und Modulen .

Jedes Projekt kann eine package.json-Datei über NPM einrichten und sogar mit Gulp (on Node) verwalten. Abhängigkeiten können direkt vom Terminal aus aktualisiert und optimiert werden. Und Sie können neue Projekte mit Abhängigkeitsdateien und Versionsnummern automatisch aus der Datei package.json erstellen.

NPM ist für mehr als nur das Abhängigkeitsmanagement wertvoll und praktisch ein Muss für die moderne Webentwicklung. Wenn Sie verwirrt sind, finden Sie in diesem Reddit-Thread eine Erklärung für Anfänger.

2. Bower

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

Sehen Sie sich diese Stack-Frage an, um mehr über die feinen Unterschiede zu erfahren.

Einige Entwickler argumentieren, dass Bower grundsätzlich veraltet ist, da es auf NPM läuft, einem Dienst, der fast alles kann, was Bower tun kann. Im Allgemeinen ist das nicht falsch.

Aber Entwickler sollten erkennen, dass Bower den Workflow speziell mit Frontend-Abhängigkeiten optimieren kann. Ich empfehle Ben McCormicks Artikel Is Bower Useful, um mehr über den Wert zu erfahren, den beide Paketverwaltungswerkzeuge bieten.

3. RubyGems

RubyGems ist ein Paketmanager für Ruby mit einer hohen Popularität unter Webentwicklern. Das Projekt ist Open Source und beinhaltet alle kostenlosen Ruby-Edelsteine.

Um einen kurzen Überblick für Anfänger zu geben, ist ein "Juwel" nur ein Code, der auf einer Ruby-Umgebung ausgeführt wird . Dies kann zu Programmen wie Bundler führen, 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 das Frontend-Paketmanagement mit einer kleinen Lernkurve auf die Ruby-Plattform.

4. RequireJS

Das Besondere an RequireJS ist, dass es sich in erster Linie um ein JS-Toolset handelt. Es kann zum schnellen Laden von JS-Modulen einschließlich Node-Modulen verwendet werden .

RequireJS kann erforderliche Abhängigkeiten automatisch erkennen, je nachdem, was Sie verwenden. Dies ähnelt der klassischen Softwareprogrammierung in C / C ++, in der Bibliotheken in weiteren Bibliotheken enthalten sind.

Sie finden eine interessante GitHub-Diskussion zu diesem Thema und den Wert, den es modernen Webentwicklern bietet. Zugegeben, andere JS-Verwaltungstools wie Webpack sind aufgetaucht, RequireJS funktioniert immer noch in Produktionsumgebungen. Und wenn es für Sie funktioniert, ist das alles wichtig.

5. Marmelade

Browser-basierte Paketverwaltung kommt mit JamJS in einer neuen Form. Dies ist ein JavaScript-Paket-Manager mit automatischer Verwaltung ähnlich zu RequireJS.

Alle Ihre Abhängigkeiten werden in eine einzige JS-Datei übertragen, mit der Sie Elemente schnell hinzufügen und entfernen können. Plus diese können im Browser unabhängig von anderen Werkzeugen aktualisiert werden, die Sie verwenden (wie RequireJS).

Bibliotheken werden basierend auf den neuesten Versionen über das Terminal aktualisiert. Jedes Projekt kann basierend auf Ihren Anforderungen automatisch mit optimierten Komponenten erstellt werden . Jam ist kostenlos auf GitHub und einen Blick wert, wenn Sie Zeit haben.

6. Browserisieren

Die meisten Entwickler kennen Browserify, auch wenn es nicht Teil ihres typischen Workflows ist. Dies ist ein weiteres Werkzeug für das Abhängigkeitsmanagement, das die benötigten Module und Bibliotheken durch Bündelung optimiert.

Diese Pakete werden im Browser unterstützt, was bedeutet, dass Sie Module mit einfachem JavaScript integrieren und zusammenführen können. Alles, was Sie brauchen, ist NPM, um zu beginnen und dann browserifizieren, um sich zu bewegen.

Sehen Sie sich dieses Intro-Tutorial an, um zu sehen, wie Knoten direkt im Browser verwaltet werden können. Es gibt auch ein umfangreiches Browserify-Handbuch, das kostenlos auf GitHub gehostet wird. Die Idee ist, all diese Node-Tools in den Browser zu bringen und Zeit zu sparen, indem der Prozess mit Browserify automatisiert wird.

7. Mantri

MantriJS befindet sich noch in einem frühen Wachstumsstadium und ist ein Abhängigkeitssystem für mittlere bis hohe Webanwendungen. Abhängigkeiten werden über Namespaces verwaltet und funktional organisiert, um Kollisionen zu vermeiden und Unordnung zu vermeiden .

Mantri befindet sich derzeit bei v0.2.2. Es ist vollständig Open Source und für komplexere Webanwendungen konzipiert, die umfangreiche Abhängigkeiten erfordern . Mantri verfolgt das Ziel, modulare Programmierpraktiken zu verfolgen und hofft, Entwickler auf den gleichen Weg zu bringen.

8. Volo

Das Projektmanagementtool volo ist ein Open-Source-NPM-Repository, mit dem Projekte erstellt, Bibliotheken hinzugefügt und Arbeitsabläufe automatisiert werden können.

Volo läuft innerhalb von Node und benötigt JavaScript für das Projektmanagement . Auf GitHub finden Sie einen kurzen Intro-Guide, der den Installationsprozess und die allgemeine Verwendung erklärt. Wenn Sie beispielsweise den Befehl volo create ausführen volo create Sie beliebige Bibliotheken wie HTML5 Boilerplate anhängen.

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

9. Ender

Ender ist die "no-library library" und einer der leichtesten Paketmanager, die Sie online finden. Es ermöglicht Entwicklern, JS-Pakete zu durchsuchen und sie direkt von der Befehlszeile aus zu installieren / kompilieren . Ender wird vom Entwicklerteam als "NPMs kleine Schwester" betrachtet.

Natürlich ist das gesamte Ender-Framework auf GitHub kostenlos verfügbar. Es ist einfach ein Tool, das Sie installieren, um den Verbrauch von Frontend-JavaScript-Frameworks für lokale Projekte zu verwalten . Alles soll mit Leichtigkeit zum vollen Potential für den Workflow eines Frontend-Entwicklers laufen.

Auf der Ender-Hauptwebsite gibt es Qualitätsdokumente, die bei Interesse einen Blick wert sind.

10. Pip

Die empfohlene Methode zum Installieren von Python-Abhängigkeiten ist über Pip. Dieses Tool wurde von Python Packaging Authority erstellt und ist wie Python selbst vollständig Open Source.

Die meisten Python-Entwickler empfehlen Pip für Abhängigkeiten, einschließlich des Django-Teams. Egal, ob Sie gerade mit Python beginnen oder es bereits konsistent mit der Backend-Entwicklung verwenden, dies ist ein Paketmanager, den Sie gerne in Ihrer Toolbox haben werden.

11. Komponist

Composer ist ein Paketmanager, der dem NPM sehr ähnlich ist, sich jedoch ausschließlich auf PHP-Bibliotheken konzentriert. Sie können eine Liste von Abhängigkeiten zu Packagist finden, die große PHP-Frameworks wie Laravel enthält.

Wenn Sie ein PHP-Entwickler jeglicher Art sind, empfehle ich ernsthaft, in Composer zu suchen. Es ist einfach zu beginnen, aber schwierig in Ihren Workflow zu passen . Mit der Praxis wird es jedoch zu einem Grundpfeiler für PHP-Entwicklungsprojekte.

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

Aufwickeln

Es ist klar, dass viele dieser Abhängigkeitsmanager ähnliche Merkmale mit ähnlichen Eigenschaften haben. Einige sind gebaut, um alternative Probleme zu lösen und können sogar nebeneinander laufen (zB Composer und NPM).

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

Wenn Sie erst einmal gelernt haben, wie Sie diese Tools in Ihren Workflow integrieren können, werden Sie nie wieder zurückdenken.

Wird 2017 der Tech-Boom weniger abstürzen?  [op-ed]

Wird 2017 der Tech-Boom weniger abstürzen? [op-ed]

Das letzte Jahr war nicht wirklich freundlich zu vielen, die in der Tech-Industrie arbeiteten. Nach der Markteinführung neuer Produkte und Dienstleistungen waren viele Tech-Unternehmen mit Entlassungen, Verkleinerung und Umstrukturierungen beschäftigt, was darauf hindeutet, dass die Boom-Phase der Tech-Szene möglicherweise zu einem Ende gekommen ist .Kl

(Tech- und Design-Tipps)

Wie Big Data Analytics Städte intelligenter macht

Wie Big Data Analytics Städte intelligenter macht

Innovative Ideen gewinnen immer an Zugkraft und können nicht zurückgehalten werden, wenn sie sich über Länder und schließlich den Globus ausbreiten. Der Fortschrittsprozess ist ein Beispiel für das Überleben der Menschheit, auch wenn die jüngsten Technologien unsere Methoden der Vorwärtsbewegung drastisch verändert haben .Heute ist

(Tech- und Design-Tipps)