magicmarcy.de | Library vs. Framework

Library vs. Framework

22. Mai 2025 - Lesezeit: 3 Minuten

In der Softwareentwicklung stolpert man schnell über die Begriffe Library und Framework.Beide liefern fertige Bausteine, um schneller ans Ziel zu kommen. Doch obwohl sie sich ähnlich anhören, bzw. im allgemeinen Sprachgebrauch auch oft verwechselt werden, verfolgen sie ganz unterschiedliche Prinzipien. In diesem Artikel schauen wir uns die Unterschiede an – praxisnah und mit Beispielen aus Java sowie HTML, CSS und JavaScript.

Der wichtigste und zentrale Unterschied zwischen einer Libary und einem Framework lässt sich so zusammenfassen:

Library: Du rufst den Code der Library auf.
Framework: Das Framework ruft deinen Code auf.

Ein Framework gibt den Rahmen vor und verlangt, dass du dich daran hältst – Stichwort: Inversion of Control. Bei einer Library bleibst du der Boss und bestimmst, wann und wie du sie nutzt.

 

Beispiel 1: Java – Logging mit einer Library vs. Web-Entwicklung mit einem Framework

Java Library: SLF4J + Logback

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
    private static final Logger log = LoggerFactory.getLogger(Main.class);

    public static void main(String[] args) {
        log.info("Hello from a Java logging library!");
    }
}

In diesem Beispiel rufst du die Logging-Methoden auf. Die Library (SLF4J) tut nur das, was du ihr sagst – du kontrollierst den Ablauf.

Java Framework: Spring Boot

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello from a Java framework!";
    }
}

Spring Boot ist ein Framework. Es übernimmt die Kontrolle: Es startet einen Server, scannt deine Klassen, registriert deine Endpunkte und ruft deine Methode sayHello() auf, wenn jemand /hello aufruft. Du steckst deinen Code in den Rahmen, den Spring vorgibt.

 

Beispiel 2: JavaScript – Library vs. Framework

Library: jQuery

<button id="btn">Klick mich</button>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
  $('#btn').click(function () {
    alert('Hallo von einer JavaScript-Library!');
  });
</script>

Du bestimmst, wann du jQuery verwendest und was passieren soll – du rufst jQuery auf.

Framework: Vue.js

<div id="app">
  <button @click="greet">Klick mich</button>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue@3"></script>
<script>
  Vue.createApp({
    methods: {
      greet() {
        alert('Hallo von einem JavaScript-Framework!');
      }
    }
  }).mount('#app');
</script>

Vue.js gibt den Ablauf vor. Dein Code (die Methode greet) wird vom Framework aufgerufen, wenn ein Button geklickt wird. Du bindest dich an das Lebenszyklusmodell des Frameworks.

 

Was soll ich wann verwenden?

Entscheidungskriterium Libary Framework
Kontrolle Du behälst die Kontrolle Framework übernimmt die Kontrolle
Einstieg Leicht und schnell Oft steilere Lernkurve
Flexibilität Sehr hoch Eingeschränkt durch Vorgaben
Struktur Muss selbst organisiert werden Bringt eine feste Struktur mit
Beispiel SLF4J, jQuery, Lodash Spring Boot, Angular, Vue.js

 

Fazit

Ob Library oder Framework – beides hat seine Daseinsberechtigung. Libraries eignen sich hervorragend, wenn du gezielt Funktionen benötigst. Frameworks helfen dir, große Anwendungen mit klarer Struktur aufzubauen. In der Praxis ist es oft eine Mischung: Du nutzt ein Framework als Fundament und ergänzt es mit Libraries.

Hast du auch schon Erfahrungen mit verschiedenen Libaries und/oder Frameworks gemacht? Berichte gern in den Kommentaren von deinen Erfahrungen.

Es wurden noch keine Kommentare verfasst, sei der erste!

Support

Wenn du mich und meine Arbeit unterstützen möchtest, freue ich mich sehr über eine kleine Aufmerksamkeit in Form eines Kaffees ;-)



Weitere Informationen, wie du mich und meine Arbeit unterstützen kannst, findest du hier.