Skip to content

Libraries

Libraries


Warum?

  • Code reuse
    • Wir wollen das Rad nicht neu erfinden.
    • Wenn ein Stück Software bereits vorhanden ist, wollen wir es wieder verwenden anstatt es jedes Mal neu zu schreiben.
  • Aber …

Libraries

Software libraries sind eine Sammlung von (read-only) Ressourcen, die verwendet werden können um Software zu erstellen.

Ressourcen bedeutet jeglicher Code, inklusive Funktionen, Klassen, Datentypen, usw.


Package Manager

Zur Verwaltung von Libraries in einem Softwareprojekt kommen in modernen Programmier-Plattformen Package Manager zum Einsatz.

Package Manager sind Programme, die dabei helfen Libraries zu verwalten. Das bedeutet zu regeln, welche Libraries verwendet werden und in welcher Version diese eingesetzt werden.


npm

Bei der Entwicklung von JavaScript Programmen unter der Verwendung von Node.js, kommt hauptsächlich der Package Manager npm (Node Package Manager) zum Einsatz.


npm - Initialisierung

Bei einer neuen JavaScript Anwendung, kann das Projekt mit npm durch folgenden Befehl initialisiert werden:

Terminal window
npm init

Es müssen ein paar Angaben zum (eigenen) Software-Projekt gemacht werden. Danach entsteht die Datei package.json

{
"name": "Meine Anwendung",
"version": "1.0.0",
"description": "Ein Projekt zum Üben",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
}

npm - Installation von Libraries

Wurde das Projekt initialisiert, kann durch die Verwendung von folgendem Befehl eine Library zum Projekt hinzugefügt werden.

Terminal window
npm install <LibraryName>

npm Installation von Libraries (2)

Daraufhin wird diese Library in der package.json Datei eingetragen.

Neben dem Namen der Library (in diesem Fall validator) ist auch die Version zu sehen.

{
"name": "libraries",
"version": "1.0.0",
"description": "A small project to show the usage of 3rd party libraries",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "norwin",
"license": "ISC",
"dependencies": {
"validator": "^13.12.0",
}
}

node_modules

Zusätzlich zur Eintragung von Libraries in der package.json Datei wird auch ein node_modules Ordner angelegt in den die Libraries heruntergeladen werden.

Bei der Ausführung des Programms müssen alle Abhängigkeiten in der richtigen Version im node_modules Ordner vorhanden sein.

Der node_modules Ordner kann gelöscht werden wenn die Applikation nicht ausgeführt wird, da in der package.json Datei gespeichert ist, welche Libraries von der Software benötigt werden.

Durch npm install (ohne eine Library anzugeben) werden alle Abhängigkeiten neu vom Internet geladen und in den node_modules Ordner gespeichert.


npmjs.com

Alle über npm verfügbaren Libraries sind unter npmjs.com einsehbar.

Es ist auch möglich, selbst Libraries zu erstellen und über npmjs.com anderen Entwicklern zur Verfügung zu stellen.


Verwendung von Libraries

Will man eine Library verwenden, so muss diese im Code zuerst importiert werden.

In JavaScript gibt es dazu unterschiedliche Varianten. Wir sehen uns eine einfache Variante, die auch CommonJs genannt wird an.

Dabei verwendet man die Funktion require um eine Library in eine Variable zu laden.

const validator = require("validator");
validator.isEmail("foo@bar.com"); //=> true

Wie eine Library importiert und verwendet werden kann ist jeweils aus der Dokumentation der jeweiligen Library zu erkennen.


Dokumentation

Bei nahezu jeder Library auf npmjs.com ist auch eine Dokumentation zu finden, wie die Library verwendet werden kann.

Sehr oft ist auch ein Link auf github angegeben, wo sogar der Quelltext der jeweiligen Library angesehen werden kann.