Dependency Management

Eine kurze Einführung

Definitionen

Es geht nicht ohne

2 / 122

Dependency

Eine Dependency ist eine externe Komponente für das eigene Projekt, bspw ein Modul/Plugin oder eine Javascript-Bibliothek wie Gutenberg mit einem spezifischen Ziel.

Package

Dependencies sind in Packages definiert. Packages haben einen Namespace, Namen, einen Typ, eine Version, relevante Dateien für die Funktion des Packages und ggf. Dependencies zu anderen Packages.

Package Registry

Eine Package Registry ist ein Verzeichnis für Packages und speichert Metainformationen zu Packages in der Registry.

Dependency Manager

Software welche die Integration von Packages verwaltet

  • composer für PHP
  • npm / Yarn für Javascript
  • bundler (Ruby)
  • uvm (Maven, Gradle...)
  • Yum / Apt (Fedora, Debian)

WARUM

Dependency Management

Kein Projekt ohne externe Pakete

Manuell externe Komponenten managen (1/2)

  • theoretisch machbar, aber zeitaufwändig und wird deshalb oft vernachlässigt
  • theoretisch machbar, aber zeitaufwändig und wird deshalb oft vernachlässigt
  • Wordpress hat ein Autoupdater

Warum das nur halb so gut ist später...

  • das Projekt ist schon länger in Entwicklung und es gibt kein Budget für Beseitigung von Techdebt

  • es nutzt wenige externe Komponenten

  • die externen Komponenten werden nicht nachträglich angepasst

  • es arbeitet nur eine Person an dem Projekt

Manuell externe Komponenten managen (2/2)

AUSREDEN

“Wir haben das schon immer so gemacht und das klappt wunderbar.”

“Das Projekt habe ich so übernommen, es ist jetzt zu aufwändig, das zu ändern”

"Ich nutze auch keine Versionskontrolle für das Projekt, also ist es egal."

“Das ist mir alles zu kompliziert, ich bin Designer”

Warum sollte ich Dependency Management nutzen?

Mit Hilfe von Dependency Management werden die exakten Versionen der externen Komponenten festgehalten.

Wartungssicherheit und Stabilität 

Verbesserte Dev-

Experience

DEMOTIME

Dependency Management Basics

By Cyberschorsch

Dependency Management Basics

  • 52