Skip to main content

Framework


PDF herunterladen

Was ist ein Framework?

Was ist ein Framework? Das Framework ist insbesondere in der Software-Entwicklung ein fester Begriff. Es steht für ein Grundgerüst, das dem Programmierer bestimmte vorgefertigte Module und Funktionen bietet. Diese kann er durch einfache Befehle in sein Programm einbinden. Der Vorteil ist, dass wiederkehrende Aktionen, etwa das Öffnen und Schließen von Dateien, nicht von jedem Entwickler neu erstellt werden müssen. Je nach Ausführung des Frameworks, ist es allerdings unter Umständen erforderlich, eine entsprechende Laufzeitumgebung auf dem PC des Nutzers zu installieren.

Entstehung und konkrete Anwendung von Frameworks

Die Idee, Softwareprogrammierung durch Frameworks zu erleichtern, ist schon mehrere Jahrzehnte alt. Eines der bekanntesten und ältesten Frameworks ist das „.NET Framework“ von Microsoft (gesprochen: Dotnet-Framework). Dieses wurde bereits 2002 als Bestandteil der Entwicklungsumgebung „Visual Studio“ veröffentlicht.

Frameworks können in unterschiedlichen Bereichen zur Anwendung kommen. Häufige Einsatzgebiete sind etwa:

  • Allgemeine Anwendungsentwicklung
  • Webentwicklung
  • Content Management Systeme (CMS)
  • Entwicklung grafischer Oberflächen
  • Größere Eigenentwicklungen von Unternehmen
  • Testumgebungen

Entwicklungsumgebungen sorgen für eine Vereinheitlichung und Modularisierung von Software. Für die eingebundenen Funktionen bieten sie genormte Schnittstellen, die sogenannten Application Programming Interfaces (APIs). Der Zugriff auf eine solches API ist genau festgelegt. Hierdurch wird der Code übersichtlicher und leichter zu warten. Es ist beispielsweise möglich, ein Update für ein Modul einzuspielen, ohne die darauf zugreifenden Programme verändern zu müssen.

Da gerade in großen Softwareprojekten eine Vielzahl an Entwicklern zusammenarbeiten, vereinfacht die Modularisierung zudem eine Aufteilung in verschiedene Arbeitspakete. Ansonsten müssten sich alle Programmierer permanent absprechen, wer welche allgemeinen Funktionen fertigt, um diese nicht mehrfach parallel für identische Zwecke im Code zu haben. Zudem hätte jeder Programmierer eine umfassende Dokumentation für von ihm gefertigte Module zu erstellen, damit andere Entwickler damit arbeiten könnten.

Wie funktioniert ein Framework?

Eine Entwicklungs- oder Laufzeitumgebung stellt sozusagen eine weitere Schicht zwischen dem Betriebssystem und der darauf ausgeführten Software dar. Sie fasst komplexere Befehle auf niedriger Ebene in einfache Anweisungen zusammen. Man spricht hierbei auch von einer Abstraktion. Insbesondere im Zusammenhang mit objektorientierter Programmierung spielen Laufzeitumgebungen eine große Rolle.

Beispielhaft könnte ein Framework etwa zur einfachen Anzeige grafischer Elemente bestimmt sein. Für die Darstellung eines Fensters mit dem „OK“ -Button und dem „Abbrechen“-Button wäre dort das Objekt „Beispielframework.MessageBox“ vorgesehen. Der Programmierer hätte nun die Möglichkeit, dieses Objekt zu verwenden. Dazu würde er es initialisieren und bekäme ein Objekt der Klasse „MessageBox“ zurück. Dieses hätte automatisch bereits mehrere Funktionen implementiert. So könnte der Programmierer den anzuzeigenden Text übergeben und bekäme abhängig von der Nutzereingabe einen Wert zurückgemeldet. Üblich wäre die Zahl „1“ für die Betätigung des Buttons „OK“ und die Zahl „0“ für „Abbrechen“. Im Anschluss wäre es dem Entwickler möglich, mit diesem Wert weiterzuarbeiten.

Ein fiktiver Beispielcode würde wie folgt aussehen:
Abfrage = Beispielframwork.MessageBox("Wollen Sie fortfahren?", "OK", "Abbrechen")
Auswahl = Abfrage.Show()
if Auswahl == 1:
Fiktive Anweisung
else:
break

In wenigen Programmzeilen kann auf diese Weise mit dem Beispielframework eine bereits recht komplexe Aktion umgesetzt werden.

Welche bekannten Frameworks gibt es?

Inzwischen ist eine Vielzahl an Frameworks auf dem Markt erhältlich. Diese verfolgen teilweise ganz unterschiedliche Anwendungszwecke.

.NET-Framework

Aufgrund der hohen Verbreitung von Microsofts Betriebssystem Windows, ist auch das bereits erwähnte .Net-Framework sehr häufig genutzt. Es unterstützt eine Vielzahl an Programmiersprachen, darunter Visual Basic, C# und C++/CLI. Entwickler können damit insbesondere Apps entwickeln, etwa für die Konsole oder mit grafischer Oberfläche. Aber auch für eigene Dienste lässt .NET sich einsetzen. Die erforderliche Laufzeitumgebung stellt Microsoft in einer Version für Entwickler und einer Variante für Anwender zur Verfügung. Letztere ist erforderlich, um mit .NET entwickelte Programme ausführen zu können.

Django

Bei Django handelt es sich um ein Webframework, welches in der Programmiersprache Python umgesetzt wurde. Entsprechend lassen sich damit vielseitige und dynamische Webseiten erstellen. Ein besonderer Fokus wird dabei auf die Sicherheit gelegt. Es bietet unter anderem Funktionen, um auf SQL-Datenbanken zuzugreifen.

Bootstrap

Bootstrap ist dafür gedacht, Nutzeroberflächen von Webseiten (Frontends) zu gestalten. Es verwendet dabei Templates, die mittels HTML und CSS umgesetzt werden. Mit Bootstrap kann ein Webentwickler einfach Elemente wie zum Beispiel Sidebars (Randfenster), Navigationsbars oder Anmeldefenster realisieren.

Angular.js

Die Umgebung Angular.js basiert auf JavaScript. Entsprechend werden damit erstellte Programme auch wie JavaScript in Webseiten eingebunden. Hierdurch lassen sich auf relativ einfache Weise vorgefertigte dynamische Inhalte in ansonsten statische Strukturen integrieren, etwa Formulareingaben.

Qt

Ein sehr vielseitiges Framework ist das für den Aufbau grafischer Oberflächen verwendete Qt. Eine Besonderheit ist seine Universalität. So lässt es sich auf verschiedenen Betriebssystemplattformen verwenden und unterstützt diverse Programmiersprachen, zum Beispiel C++, Python und JavaScript. Mit Qt sind umfangreiche Benutzeroberflächen umsetzbar. Zur Verfügung stehen dafür Elemente wie Checkboxen, Scrollbalken, Eingabefelder und Tabs, wie man sie von Browsern kennt.

Vor- und Nachteile

Die Nutzung von Frameworks hat sich sowohl in der Anwendungsentwicklung als auch in der Webentwicklung etabliert. Bei kritischer Betrachtung gibt es dennoch ein paar Argumente, die den zweifellos vorhandenen Vorteilen gegenüberzustellen sind.

Vorteile Nachteile
Flexibilität Abhängigkeit von Drittanbietern
Bessere Erweiterbarkeit Festlegung auf einen Anbieter notwendig
Sicherheit, bei Verwendung getesteter Module Sicherheitslücken betreffen eine Vielzahl an Programmen
Vereinfachung für Entwickler Individualität geht verloren

Entwicklung und Ausblick

Hinter den aufgeführten Frameworks und etlichen weiteren stehen große Unternehmen oder langjährig existierende Organisationen. Daher ist davon auszugehen, dass eine Fortentwicklung in den meisten Fällen auf Jahre garantiert ist. Insofern ist für solche Frameworks auch zu erwarten, dass regelmäßige Updates und Funktionserweiterungen zur Verfügung gestellt werden.

Jetzt den SEO-Küche-Newsletter abonnieren

Ähnliche Artikel

Digitale Strategie

Eine digitale Strategie ist ein umfassender Plan, der beschreibt, wie ein Unternehmen digitale Technologien und Kanäle nutzen wird, um seine Geschäftsziele zu erreichen. Diese Strategie umfasst die Nutzung von digitalen Plattformen, Tools und Techniken zur Optimierung von Geschäftsprozessen, zur Verbesserung des Kundenerlebnisses und zur Steigerung der Wettbewerbsfähigkeit. In einer zunehmend […]

Digital Disruption

Digital Disruption, oder digitale Disruption, bezeichnet den Wandel und die Umwälzung von Märkten und Geschäftsmodellen durch neue digitale Technologien und Innovationen. Diese Veränderungen führen oft zu radikalen Umbrüchen in traditionellen Branchen und schaffen neue Marktchancen und Wettbewerbslandschaften. Bedeutung Digitale Disruption ist ein wesentlicher Treiber des modernen wirtschaftlichen Wandels. Unternehmen, die […]

Datenfeed

Ein Datenfeed ist ein Mechanismus zur Übertragung von Daten von einer Quelle zu einem Empfänger, oft in einem standardisierten Format. Datenfeeds werden häufig im digitalen Marketing, E-Commerce und anderen Branchen verwendet, um Produktinformationen, Preise, Lagerbestände und andere relevante Daten automatisch zu aktualisieren. Bedeutung Datenfeeds sind entscheidend für die Automatisierung und […]

Data-Driven Marketing

Data-Driven Marketing bezeichnet den Einsatz von Daten und Analysen zur Optimierung und Personalisierung von Marketingstrategien und -kampagnen. Es nutzt Erkenntnisse aus Daten, um fundierte Entscheidungen zu treffen und die Effektivität der Marketingmaßnahmen zu steigern. Bedeutung Data-Driven Marketing ist entscheidend für den modernen Marketingansatz, da es Unternehmen ermöglicht, ihre Zielgruppen besser […]

Data Warehouse

Ein Data Warehouse ist eine zentrale Datenbank, die speziell für das Reporting und die Datenanalyse entwickelt wurde. Es sammelt und speichert große Mengen an Daten aus verschiedenen Quellen und ermöglicht es Unternehmen, diese Daten effizient zu analysieren und wertvolle Erkenntnisse zu gewinnen. Bedeutung Data Warehouses sind entscheidend für Business Intelligence […]

Data Processing Agreement (DPA)

Ein Data Processing Agreement (DPA), oder Datenverarbeitungsvertrag, ist ein rechtliches Dokument, das die Bedingungen regelt, unter denen personenbezogene Daten von einem Datenverarbeiter im Auftrag eines Datenverantwortlichen verarbeitet werden. Es ist ein wesentlicher Bestandteil der Datenschutz-Compliance, insbesondere in der Europäischen Union (EU) gemäß der Datenschutz-Grundverordnung (DSGVO). Bedeutung DPAs sind entscheidend für […]