Für wiederkehrende Leser dürfte mein Android-Entwickler-Hintergrund mittlerweile bekannt sein, für alle anderen die Information: Ich entwickle unter anderem Android Apps. In diesem Bereich gibt es extrem viele gute Libraries, die einem Aufgaben in allen möglichen Bereichen abnehmen, gut gepflegt sind und extrem viel Zeit sparen.
Die externen Abhängigkeiten sollten dann aber natürlich auch verwaltet, geprüft und aktualisiert werden. Libraries die nicht mehr unterstützt werden, sollten ausgetauscht werden und auch generell sollte man immer ein Auge auf Code haben, welchen man in seine Projekte integriert. Ein gewisser Zeitaufwand ist auf lange Sicht also auch hier zu erwarten.
In diesem Kontext bin ich aber durchaus positiv eingestellt, wenn es um externe Abhängigkeiten geht. Doch mittlerweile wirkt es so, als könnte man vieles zu einfach mit Libraries lösen, denn für teilweise die kleinsten Aufgaben werden komplette Library-Konstrukte integriert und nie wieder mit nur einem Auge betrachtet. Dies gilt für komplexe Dinge, wo Libraries meiner Meinung nach Sinn machen, aber auch für die trivialsten Dinge. Denn eine Abhängigkeit hinzufügen und einfach eine Methode aufzurufen, ist halt immer noch leichter als 5-6 durchdachte Zeilen selbst zu schreiben.
Viele Libraries können hilfreich sein, aber die Selbstverständlichkeit mit welcher, unabhängig von der genutzten Plattform, Programmiersprache oder der Build-Umgebung, Abhängigkeiten überall integriert werden, lässt mich teilweise mit dem Kopf schütteln. Der finale Auslöser dieses Beitrags ist meine Web-Entwicklung mit dem Static-Site-Generator Hugo open_in_new und die damit verbundene Idee warum ich Hugo wählte. Ich arbeite mit Hugo, weil es schnell und einfach funktioniert und dabei eine einzelne ausführbare und aktualisierbare Datei ist. Ohne Abhängigkeiten, ohne 5-Stufigen Build-Prozess, Downloads, Setups, Updates und was man sonst noch alles aufführen könnte.
Ich habe mir ein durchaus komplexes Theme gebaut, kann aber verstehen wenn man bereits fertige nutzen möchte. Was auf meinem Server, für eine andere - nicht von mir entwickelte Website - gerade getan wird. Die Hugo-Webseiten auf dem Server werden mit einem kleinen automatisierten Script, was ich geschrieben habe, gebaut und ich war verwirrt als mir vom Ersteller der Seite mitgeteilt wurde, dass seine Seite nicht erfolgreich erstellt wird.