Framework

Aus FLBK-Wiki
Zur Navigation springen Zur Suche springen

Ein Framework (deutsch: „Rahmenwerk“) ist ein vorgefertigtes Gerüst aus Klassen, Bibliotheken und Methoden, das die Entwicklung von Softwareanwendungen erleichtert. Es stellt wiederverwendbare Strukturen und Funktionen bereit, sodass Entwickler nicht jedes Mal grundlegende Funktionalitäten neu implementieren müssen.

Merkmale

  • Wiederverwendbarkeit: Häufig genutzte Funktionen (z. B. Datenbankzugriff, Logging) sind schon enthalten.
  • Vorgegebene Architektur: Frameworks geben eine Struktur vor, in der Quellcode integriert wird.
  • Inversion of Control (IoC): Nicht der Entwickler ruft das Framework, sondern das Framework ruft die Entwicklerfunktionen („Hollywood-Prinzip“: „Don’t call us, we call you“).
  • Erweiterbarkeit: Individuelle Anpassungen sind möglich.

Vorteile

  • Schnellere Entwicklung durch vorhandene Bausteine.
  • Höhere Qualität, da erprobte und getestete Funktionen genutzt werden.
  • Einheitliche Strukturen im Team → besser wartbarer Code.
  • Sicherheit durch geprüfte Bibliotheken.

Nachteile

  • Lernaufwand durch komplexe Strukturen.
  • Abhängigkeit vom Framework (Vendor-Lock-in).
  • Performance-Overhead möglich.

Beispiele

  • Web-Frameworks: Django (Python), Spring (Java), Laravel (PHP), ASP.NET (C#).
  • GUI-Frameworks: Qt (C++), JavaFX (Java).
  • Mobile Entwicklung: Flutter (Dart), React Native (JavaScript).

Frameworks sind wichtig, um:

  • den Unterschied zu Bibliotheken zu verstehen (Framework ruft Code des Entwicklers auf, Bibliothek wird vom Entwickler aktiv genutzt).
  • Architekturprinzipien wie MVC (Model-View-Controller) einordnen zu können.
  • den Nutzen für effiziente Softwareentwicklung erklären zu können.