Framework
Stand: 01.08.2022
Was steckt hinter dem Begriff Framework?
Unter einem Framework verstehen Programmierer eine Basisstruktur oder Entwicklungsumgebung, die verschiedene vorgefertigte Features zur Verfügung stellt. Das können ganze Module und einzelne Funktionen sein, die er anhand von festgelegten Befehlen in ein Programm einbinden kann. Standardmäßige und sich wiederholende Aktionen müssen dadurch nicht jedes Mal und von jedem Informatiker neu geschrieben werden. Das erleichtert insbesondere die Entwicklung innovativer Softwares enorm, was vor allem bei der objektorientierten Programmierung eine wichtige Rolle spielt.
Wo finden Frameworks Verwendung?
Frameworks lassen sich in vielen verschiedenen Bereichen einsetzen. Darunter fallen die allgemeine und spezifische Anwendungsentwicklung, etwa größere Eigenentwicklungen von Unternehmen, oder der Aufbau von Webapplikationen. Generell profitieren Programmierer außerdem von erstellten Testumgebungen. Im Bereich Online Marketing ist jedoch vor allem die Konzeption von Content-Management-Systemen (CMSs), grafischer Oberflächen und Customer-Relationship-Management-Systemen (CRMs) von Bedeutung.
Was sind die Vorteile von Frameworks?
Das Ziel einer Entwicklungsumgebung ist die Vereinheitlichung und Komponentisierung von Software. Dazu beinhalten sie standardmäßige Schnittstellen – Application Programming Interfaces (APIs) – für die jeweiligen Funktionen. Der Zugriff auf eine API ist dabei exakt vorgegeben und übergreifend wirksam. Das sorgt für:
- einen übersichtlicheren Code
- vereinfachte Wartungsarbeiten
- eine unproblematischere Implementation von Updates
- eine simplere Aufteilung der Arbeitspakete
- unkomplizierte Zusammenarbeit mehrerer Entwickler
Insbesondere die letzten beiden Punkte stellen eine enorme Arbeitserleichterung an größeren Softwareprojekten dar. Denn so sind die Programmierer nicht auf einen dauerhaften Austausch untereinander über die zu konstruierenden Eigenschaften angewiesen. Auch eine detaillierte Dokumentation der eigenen Arbeitsschritte wird dadurch hinfällig, da Doppelungen im Code durch die Aufteilung als sehr unwahrscheinlich gelten.
Zur Korrekten Nutzung der Frameworks kann es allerdings in manchen Fällen notwendig sein, eine kompatible Laufzeitumgebung auf dem PC zu installieren.
Wie funktioniert ein Framework?
Vereinfacht gesagt sind Entwicklungsframeworks in der Lage, komplexe Befehlsketten in leichte Anweisungen zu übersetzen – zu abstrahieren –, die sie auf einer niedrigeren Ebene abspeichert. Damit erschaffen sie auf gewisse Weise eine weitere Schicht zwischen der Software und dem zugrunde liegenden Betriebssystem.
Ein Beispiel für ein Framework ist die simple Darstellung grafischer Elemente:
- Um ein Fenster mit OK- und Abbrechen-Button anzeigen zu lassen, gibt es die Funktion „Framework-MessageBox“, die beliebig oft für diese Art der Visualisierung angewendet werden kann.
- Im ersten Schritt initialisiert der Informatiker das Framework und erhält ein Objekt der Klasse „MessageBox“, das automatisch eine Kette von Features beinhaltet.
- Anschließend übergibt der Entwickler den anzuzeigenden Text. Abhängig von der Buttonauswahl des Nutzers meldet das Programm dann einen bestimmten Wert zurück: In der Regel „1“ für „Ok“ und „0“ für „Abbrechen“. An beiden Pfaden kann daraufhin einzeln weitergearbeitet werden.
Der beschriebene Beispielcode könnte folgendermaßen aussehen:
Abfrage = Framwork.MessageBox(„Wollen Sie fortfahren?“, „OK“, „Abbrechen“)
Auswahl = Abfrage.Show()
if Auswahl == 1:
Fiktive Anweisung
else:
break
Komplexe Aktionen lassen sich durch das Framework also bereits mit deutlich reduzierter Eingabe ausführen.
Die Vor- und Nachteile von Frameworks zusammengefasst
Das Einbinden von Frameworks hat sich in vielen Bereichen der Programmierarbeit durchgesetzt, da das durchaus einige Vorteile mit sich bringt, wie:
- Flexibilität
- vereinfachte Erweiterbarkeit
- Sicherheit durch bereits getestete Module
- Simplifizierung von Arbeitsschritten
Allerdings sollten Entwickler und Unternehmer auch die Nachteile im Blick behalten:
- Abhängigkeit von anderen Diensten
- keine übergreifende Nutzung von verschiedenen Framework-Diensten möglich
- denkbare Sicherheitslücken
- Verlust der Codeindividualität
Wie sind Frameworks entstanden und welche gibt es heute?
Frameworks erleichtern die Softwareprogrammierung schon seit einigen Jahrzehnten. Zu den ältesten gehört das von Microsoft entworfene NET Framework, das 2002 als Feature des Entwicklungsumfelds Visual Studio auf den Markt gekommen ist. Heutzutage haben Programmierer eine große Auswahl an Framework-Dienste. Je nach Anbieter können diese diverse Anwendungszwecke verfolgen.
Bootstrap
Mit Bootstrap richten Entwickler Frontends – also die sichtbaren Nutzeroberflächen von Websites – ein. Das umfasst beispielsweise die Darstellung von Elementen wie Sidebars, Anmeldefenstern oder Navigationen. Dazu beinhaltet das Programm Templates, die sowohl durch HTML als auch CSS ausgeführt werden.
Qt
Qt ist ein Framework, dass vielseitige Module für die Erstellung komplexer und weitreichender grafischer Oberflächen bereithält. Darunter fallen beispielsweise Checkboxen, Scrollbalken, Tabs oder Eingabefelder. Besonders beliebt ist es aufgrund seiner universellen Anwendbarkeit: Sowohl auf den Plattformen verschiedener Betriebssysteme als auch mit unterschiedlichen Programmiersprachen können Programmierer Qt-Funktionen verwenden.
.NET-Framework
Windows ist eins der meistgenutzten Betriebssysteme. Gleichzeitig unterstützt es zahlreiche Programmiersprachen wie C#, C++/CLI oder Visual Basic. Daher gehört das .Net-Framework heutzutage weiter zu den gefragten Framework-Programmen. Programmierer haben hiermit die Möglichkeit, Webanwendungen, Apps und eigene Dienste zu entwerfen. Hinzu kommt, dass Microsoft sowohl eine Laufzeitumgebung für Entwickler als auch Anwender zur Verfügung stellt. Dadurch wird garantiert, dass Nutzer mit .Net-Framework konstruierte Programme ausführen können.
Angular.js
Da Angular.js auf JavaScript basiert, lassen sich damit erstellte Softwares auf gleiche Weise in Webseiten einbinden. Programmierer können durch die Entwicklungsumgebung vorgefertigte dynamische Inhalte unkompliziert in statische Strukturen einbetten.
Django
Das Django-Framework beruht auf Python und fokussiert sich ausschließlich auf die Entwicklung von Webanwendungen, weshalb Informatiker damit äußerst facettenreiche und dynamische Webseiteninhalte realisieren können. Zusätzlich spielt hier der Sicherheitsaspekt eine entscheidende Rolle. Aus diesem Grund gibt es beispielsweise Eigenschaften, mithilfe derer auf SQL-Datenbanken zugegriffen werden kann.
Fazit
Frameworks gelten für Entwickler als gute Möglichkeit, komplexe Inhalte leichter und vor allem ausführbar umzusetzen. Hinzu kommt, dass die stetige Weiterentwicklung der einzelnen Dienste für viele Jahre garantiert ist, große Unternehmen oder Organisationen dahinterstehen. Zusätzlich zu den bisherigen Funktionen sind also zusätzliche Module zu erwarten, die die Arbeit der Programmierer darüber hinaus vereinfacht.
Damm 17,
38100 Braunschweig