Anwendungsframework
Ein Anwendungsframework ist eine wiederverwendbare Softwarearchitektur mit Bibliotheken, Komponenten und Konventionen, die Entwicklern beim Erstellen von Anwendungen eine Struktur vorgibt. Frameworks liefern grundlegende Bausteine wie Datenzugriff, Benutzerschnittstellen, Sicherheit, Logging und Routing und übernehmen wiederkehrende Aufgaben, sodass sich Funktionalität schneller umsetzen lässt. Durch Inversion of Control bestimmt das Framework den Ablauf der Anwendung in vielen Bereichen, statt dass der Entwickler jede Steuerung selbst schreibt.
Typische Merkmale sind Schichten- oder Modulararchitektur, Muster wie MVC oder MVVM, Abhängigkeitsinjektion, Konfigurations- und Lebenszyklusmanagement, Routing,
Anwendungsbereiche: Webanwendungen, Desktop- oder Mobile-Apps; Web-Frameworks wie in Java (Spring), Python (Django), PHP (Laravel), Ruby (Rails)
Vorteile: Beschleunigte Entwicklung, bessere Automatisierung, konsistente Best Practices, bessere Skalierbarkeit. Risiken: Lernaufwand, Abhängigkeiten, Lock-in, mögliche Überkomplexität
Der Lebenszyklus umfasst Bootstrapping, Dependency Injection, Modul- bzw. Plug-in-Architektur, Build- und Run-Time-Tools sowie Debugging- und Testing-Unterstützung.
Beispiele: Spring Framework, .NET-Framework, Django, Laravel, Ruby on Rails, Angular, Express.js.