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.
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:
-
- React
- Angular
- Django
- Laravel
- Ruby on Rails
- Vue.js
- Spring
- Express
- Asp.NET
- 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.