dependency
/dɪˈpen.dən.si/zelfstandig naamwoord
Een dependency is een softwareonderdeel of systeem waarvan andere software afhankelijk is om gebouwd te worden of te draaien, zoals een library, framework of externe dienst.
Voor het verwerken van betalingen gebruikt de applicatie een dependency van de betaaldienst.
Een applicatie bestaat zelden alleen uit zelfgeschreven code. Ontwikkelaars gebruiken vaak bestaande Woordenboek · In het kortlibraryEen library is een verzameling herbruikbare softwarecode voor een afgebakende taak. Een applicatie kan die code aanroepen om bestaande functionaliteit te gebruiken.Lees meer, Woordenboek · In het kortframeworkEen framework is een samenhangende basis voor softwareontwikkeling. Het biedt herbruikbare code, een vaste structuur en afspraken voor het bouwen van een applicatie.Lees meer en pakketten voor taken zoals Woordenboek · In het kortauthenticatieAuthenticatie is het proces waarmee een systeem de opgegeven identiteit van een gebruiker, apparaat of applicatie controleert.Lees meer, dataverwerking of het versturen van e-mail. Zodra de applicatie zo'n onderdeel nodig heeft om gebouwd te worden of te draaien, is dat onderdeel een dependency.
Directe en indirecte dependencies
Een directe dependency wordt bewust aan een project toegevoegd. Die dependency kan zelf ook weer andere pakketten nodig hebben. Dat zijn indirecte of transitieve dependencies. Zo kan één toegevoegd pakket een hele keten van afhankelijkheden meebrengen.
Een package manager houdt bij welke dependencies een project gebruikt en haalt de juiste versies op. Vaak legt een lockfile daarnaast de exacte versies vast. Daardoor gebruiken ontwikkelaars, testomgevingen en productieservers dezelfde combinatie van pakketten.
Waarom dependencies onderhoud vragen
Een dependency kan ontwikkeltijd besparen, maar wordt vaak buiten het eigen project beheerd. Een nieuwe versie kan fouten oplossen, beveiligingslekken dichten of wijzigingen bevatten die niet aansluiten op de applicatie. Daarom controleren teams beschikbare updates en testen ze of de software daarna nog goed werkt.
Niet iedere update hoeft direct te worden geïnstalleerd. Wel is het verstandig om te weten welke onderdelen van een dependency afhangen en hoe actief het pakket wordt onderhouden. Een dependency die niet meer wordt bijgewerkt, kan op termijn een beveiligings- of onderhoudsrisico worden. Teams kunnen dan overstappen op een ander pakket, de benodigde functie zelf bouwen of het gebruik ervan beperken.