Framework

von | Jun 23, 2021

Ein Bildschirm auf dem Code zu sehen ist, neben dem Titel: Framework - Begriffserklärung

In der Programmierwelt ist ein Framework ein Programmgerüst, ähnlich eines Baukastensystems, welches verschiedene Elemente wie beispielsweise Funktionalitäten oder Designelemente mitbringt, um die Entwicklung von Software zu erleichtern. Dabei wird eine Struktur bereitgestellt, die vorgibt auf welchen Programmen oder Schnittstellen das Framework aufgebaut wird und wie es mit diesen interagiert. Beispielsweise liefert ein WebFramework bereits die Funktionalitäten, die typischerweise notwendig sind, um eine Webanwendung zu bauen. Dazu zählen zum Beispiel die Autorisierung- oder Authentifizierung-Funktionalitäten oder auch die generelle Architektur einer Webanwendung.

Beispiele Frameworks

Unterschiedliche Frameworks sorgen dafür, dass die Entwicklung von Software für einen besonderen Anwendungsbereich einfacher gestaltet werden kann, da wiederkehrende Strukturen immer wieder verwendet werden können.
Ein passendes Beispiel zur Veranschaulichung sind Log-In Seiten, die man beispielsweise von Facebook, Instagram, Twitter etc. kennt.

Der mobile Anmeldescreen von Twitter

Hier sieht man, dass das Konstrukt aller drei Webseiten nahezu identisch ist, was vermuten lässt, dass die Webseiten Facebook, Instagram und Twitter alle auf der Basis von Frameworks entwickelt wurden. Frameworks finden ihre Verwendung in fast allen Programmiersprachen, um letztlich Entwicklern Programmierungsprozesse zu erleichtern.

Die beliebtesten Frameworks

Laut der Internetplattform StackOverflow sind die beliebtesten Frameworks:

    1. React
    2. Angular
    3. Django
    4. Laravel
    5. Ruby on Rails
    6. Vue.js
    7. Spring
    8. Express
    9. Asp.NET
    10. Meteor

Vor- und Nachteile von Frameworks

Vorteile

Große Vorteile, die sich durch die Nutzung von Frameworks ergeben, sind zum Beispiel Kosten- sowie Zeitersparnisse. Durch bereitgestellte Elemente, werden zusätzliche Arbeitsaufwände und Kosten vermieden. Auch das Zurückgreifen auf bereits vorhandene Funktionen, Komponenten etc. trägt dazu bei, dass die Entwicklung einer Anwendung schneller vorangeht. Somit tragen Frameworks zu einer großen Arbeitserleichterung für Entwickler, während der Programmierung bei.

Nachteile

Frameworks können sehr komplex und für Menschen ohne jegliche Fachkenntnisse nur schwer nachzuvollziehen sein. Nichtsdestotrotz können unerfahrene Entwickler mit Frameworks arbeiten. Es besteht jedoch die Gefahr, dass die dahinterliegende “Magie” der Frameworks nicht vollständig verstanden wird und der Entwickler gegebenenfalls in eine Sackgasse läuft, da ihm das notwendige Basiswissen fehlt. Was heißt, dass eine zusätzliche Einarbeitungszeit notwendig ist. Ein weiterer Nachteil können die strukturellen Einschränkungen bei Frameworks sein. Abläufe müssen so implementiert werden, wie sie von dem Framework vorgegeben werden. Was dazu führt, dass man weniger flexibel ist.
Auch Bugs und fehlende Features sind bei Frameworks nicht unüblich. Sollte das gewählte Framework fehlerhaft sein oder Features fehlen, so liegt es nicht in der Hand des Entwicklers, diese Fehler zu beheben. Hier muss der Entwickler auf die Entwickler des Frameworks warten und hoffen, dass Bugfixes oder Features implementiert werden, oder gegebenenfalls das Framework wechseln, was am Ende natürlich Zeit in Anspruch nimmt.

Frameworks, die bei der idesis GmbH zum Einsatz kommen

.NET Framework

Das .NET Framework bildet das Herzstück der .NET Laufzeitumgebung und bringt alles mit, was Softwareentwickler für die Entwicklung von Software auf Basis von Microsoft .NET benötigen.

Windows Forms

Windows Forms ist ein UI Framework für die Erstellung von Anwendungen mit Microsoft .NET oder .NET Core für Microsoft Windows Systeme.

Windows Presentation Foundation (WPF)

WPF ist ein mit Microsoft .NET 3 erstmals veröffentlichtes UI Framework für die Erstellung von Anwendungen mit Microsoft .NET oder .NET Core für Microsoft Windows Systeme, bei dem grafische Benutzeroberflächen nicht programmiert werden müssen, sondern in der Auszeichnungssprache XAML definiert werden können, wodurch eine Trennung von Programmcode und Darstellung ermöglicht wurde.

ASP.NET / ASP.NET Core

ASP.NET und ASP.NET Core sind Web Application Frameworks für die Erstellung von serverseitigen Web Anwendungen mit .NET Technologien.

ASP.NET MVC / ASP.NET Core MVC

ASP.NET MVC und ASP.NET Core MVC sind Web Frameworks für die Erstellung von serverseitigen Web Anwendungen mit .NET Technologien, die dem Model-View-Controller Entwurfsmuster folgen.

Blazor

Blazor ist ein Web Framework für die Erstellung von interaktiven Web Oberflächen mit .NET Core, das ohne clientseitige JavaScript Funktionen auskommt. Nach Server-side Blazor erschien 2019 auch die Variante Blazor WebAssembly, die ohne serverseitigen Code auskommen kann und eine vollständige Ausführung der Anwendung im Browser ermöglicht.

Xamarin Forms

Xamarin Forms ist ein UI Framework für die Entwicklung mobiler Anwendungen (Apps) mit .NET Technologien, die auf Smartphones mit iOS (Apple) oder Android (Google) ausgeführt werden. Xamarin Forms verwendet dazu eine für die entsprechenden Zielplattformen angepasste Version der freien .NET Laufzeitumgebung Mono.

Electron

Electron ist ein Framework, mit dem die Entwicklung und Verteilung von Desktop Anwendungen mit Web Technologien (HTML, CSS, JavaScript) mithilfe des Webbrowsers Chromium (freie Version des Chrome-Browser) und Node.js ermöglicht wird.

idesis GmbH – Frameworks

Die idesis GmbH mit Sitz in Essen entwickelt seit mehr als 15 Jahren Software mit dem Schwerpunkt der individuellen Softwareentwicklung. Währenddessen haben wir mit den verschiedensten Frameworks gearbeitet. Dank dieser Technologien und unserer langjährigen Erfahrung haben wir die Möglichkeit, gezielt verschiedenste Projekte und Kundenvorstellungen erfolgreich umzusetzen.

Falls Sie bei Ihrem nächsten Softwareprojekt Unterstützung benötigen, freuen wir uns auf Ihre persönliche Kontaktaufnahme.

Hier finden Sie weitere Begriffserklärungen.

Programmiersprache

Programmiersprache

Programmiersprachen sind im Allgemeinen formale Sprachen, die sich mithilfe von Rechenbefehlen formulieren und sich in sogenannte Maschinensprachen übersetzen lassen. Dabei folgt jede Programmiersprache einer Syntax. Diese legt beim Programmieren über zulässige...

mehr lesen
User Experience (UX)

User Experience (UX)

Die User Experience abgekürzt UX umfasst das gesamte Nutzungserlebnis (oder die Nutzererfahrung) eines Nutzers während der Verwendung eines Produktes, einer Anwendung, eines Systems oder einer Dienstleistung. Dabei umfasst die User Experience nicht nur die direkten...

mehr lesen
Agile Softwareentwicklung

Agile Softwareentwicklung

Agile Softwareentwicklung bezeichnet Softwareentwicklungsmethoden, die sich um die Idee der iterativen Entwicklung drehen, bei der Anforderungen und Lösungen durch die Zusammenarbeit zwischen selbstorganisierende und funktionsübergreifenden Teams entstehen. Die Agile...

mehr lesen

Leonard Koch

+49 163 433 74 71

leonard.koch@idesis.de

Sie möchten ein Projekt umsetzen?

Melden Sie sich und wir besprechen unverbindlich Ihre Vorstellungen.

Wir melden uns innerhalb kürzester Zeit persönlich bei Ihnen.

Unsere Kunden liegen uns sehr am Herzen. Deshalb versuchen wir auf jede Anfrage innerhalb kürzester Zeit zurückzumelden. Scheuen Sie sich nicht, sprechen Sie uns einfach an.

Wir freuen uns auf Sie!

Kontaktformular