Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

Frameworks

Freelancer, Projekte, Experten und Wissen rund um Frameworks.

Kategorie

Backend

Einordnung

Frameworks Freelancer, Projekte, Experten und Wissen auf jobtic.com

Frameworks gehört zu den gefragtesten Kompetenzen im modernen IT-Projektmarkt. Unternehmen, Recruiter, Projektanbieter und Agenturen suchen kontinuierlich nach qualifizierten IT-Freelancern, Beratern, Entwicklern, Consultants, Administrators, Engineers und Spezialisten mit Erfahrung in Frameworks.

Auf jobtic.com finden Unternehmen und Freelancer eine moderne Plattform für IT-Projekte, Projektvermittlung, Freelancer-Profile, Experten-Suche, Projektakquise und berufliche Vernetzung rund um Frameworks und viele weitere Technologien, Tools, Systeme, Methoden und IT-Bereiche.

Wikipedia

Framework

Artikel öffnen
Dieser Artikel beschäftigt sich mit Programmiergerüsten in der Softwaretechnik. Zum Office-Paket siehe Framework (Office-Paket).

Ein Framework (englisch für Rahmenstruktur) ist ein Programmiergerüst, das in der Softwaretechnik eingesetzt wird – insbesondere in der objektorientierten Softwareentwicklung sowie in komponentenbasierten Ansätzen.

Beschreibung

Ein Framework ist kein eigenständiges Programm, sondern stellt eine Struktur bereit, innerhalb derer Entwickler Anwendungen erstellen. Durch die im Framework verwendeten Entwurfsmuster beeinflusst es typischerweise auch die Architektur der entstehenden Software. So unterstützen etwa die Microsoft Foundation Classes das Model-View-Controller-Muster.

Ralph E. Johnson und Brian Foote beschrieben ein Framework 1988 im Artikel Designing Reusable Classes im Journal of Object-Oriented Programming als:

„Ein Framework ist eine semi-vollständige Applikation. Es stellt für Applikationen eine wiederverwendbare, gemeinsame Struktur zur Verfügung. Die Entwickler bauen das Framework in ihre eigene Applikation ein und erweitern es derart, dass es ihren spezifischen Anforderungen entspricht. Frameworks unterscheiden sich von Toolkits dahingehend, dass sie eine kohärente Struktur zur Verfügung stellen, anstatt einer einfachen Menge von Hilfsklassen.“[1]

Frameworks geben in der Regel die grundlegende Anwendungsarchitektur vor. Charakteristisch ist dabei die (Inversion of Control) (Umkehrung der Steuerung): Programmierer registrieren konkrete Implementierungen, die anschließend vom Framework aufgerufen und verwaltet werden. Wird diese Registrierung nicht im Quellcode festgelegt, sondern extern konfiguriert, spricht man von Dependency Injection.

Ein Framework definiert insbesondere den Kontrollfluss einer Anwendung sowie die Schnittstellen, die konkrete Klassen implementieren müssen. Es dient damit der Wiederverwendung bewährter architektonischer Muster. Da solche Muster stets auf eine bestimmte Problemdomäne zugeschnitten sind, sind Frameworks meist domänenspezifisch oder auf bestimmte Anwendungstypen beschränkt – etwa grafische Editoren, Buchhaltungssysteme oder Webshops.

Eine allgemeingültige Definition existiert nicht, da Frameworks sehr unterschiedlich ausgeprägt sein können. Der Begriff wird daher häufig unscharf verwendet; mitunter werden bereits umfangreiche Klassensammlungen als Framework bezeichnet.

White-Box- und Black-Box-Frameworks

Die Unterscheidung zwischen White-Box- und Black-Box-Frameworks bezieht sich auf die Sichtbarkeit und Zugänglichkeit der Implementierung hinter einer Schnittstelle.

  • Bei einer Black-Box-Abstraktion kennen Klienten nur die Spezifikation der Schnittstelle, nicht jedoch deren interne Umsetzung.
  • Bei einer White-Box-Abstraktion ist die Implementierung einsehbar und kann durch Vererbung erweitert werden, auch wenn die Schnittstelle weiterhin eine gewisse Kapselung erzwingt.

Einige Autoren unterscheiden zusätzlich zwischen White-Boxes (Erweiterung möglich) und Glass-Boxes (nur Einsicht möglich).[2]

Framework-Typen

Frameworks lassen sich – ohne strikte Abgrenzung – in folgende Kategorien einteilen:

Application Frameworks
bilden das Programmiergerüst für eine bestimmte Klasse von Anwendungen (horizontal slice), die grundlegende Funktionen und Programmstrukturen bereitstellen.
Domain Frameworks
bilden das Programmiergerüst für einen spezifischen Problembereich (vertical slice), das typische Funktionen und Strukturen dieser Domäne bündelt.
Class Frameworks
fassen Klassen und Methoden zusammen, die Unterstützung auf einer bestimmten Abstraktionsebene für ein breites Anwendungsspektrum bieten.
Komponenten-Frameworks
abstrahieren von der objektorientierten Ebene und stellen eine Umgebung zur Entwicklung und Integration von Software-Komponenten bereit. Software-Komponenten werden dabei meist als Bündel von Klassen mit eindeutig definierten Schnittstellen betrachtet.
Coordination Frameworks
(wie Jini und UPnP) ermöglichen die Interaktionen zwischen Geräten und unterstützen deren Interoperabilität. Wenn beispielsweise ein „Jini-fähiger“ Drucker an ein Netzwerk angeschlossen wird, welches Jini verwendet, so kann er selbständig anderen Geräten mitteilen, was für eine Art von Drucker dazugekommen ist.
Test Frameworks
dienen zur Ausführung automatisierter Softwaretests, etwa JUnit für Modultests oder Selenium für Webanwendungen.
Webframeworks
sind ausgelegt für die Entwicklung dynamischer Websites, Webanwendungen oder Webservices.

Bekannte Frameworks

Aufgrund der uneinheitlichen Begriffsverwendung ist die Zuordnung einzelner Systeme nicht immer eindeutig. Beispiele sind:

Literatur

  • Wolfgang Pree: Komponentenbasierte Softwareentwicklung mit Frameworks. dpunkt, 1997, ISBN 3-920993-68-3
  • Krzysztof Cwalina, Brad Abrams: Richtlinien für das Framework-Design – Konventionen, Ausdrücke und Muster für wiederverwendbare.NET-Bibliotheken. Addison-Wesley, 2007, ISBN 3-8273-2626-5

Einzelnachweise

  1. Ralph E. Johnson, Brian Foote: “Designing Reusable Classes” im "Journal of Object-Oriented Programming" (1988); "A framework is a semi-complete application. A framework provides a reusable, common structure to share among applications. Developers incorporate the framework into their own application and extend it to meet their specific needs. Frameworks differ from toolkits by providing a coherent structure, rather than a simple set of utility classes."; Quelle: Petar Tahchiev, Felipe Leme, Vincent Massol: JUnit in Action, 2. Auflage, broschiert, Manning Publications, 2010, ISBN 1935182021, Seite 4
  2. Clemens Szyperski, Dominik Gruntz, Stephan Murer: Component Software. Beyond object-oriented programming. 2. Auflage. Addison-Wesley, London; München 2002, ISBN 0-201-74572-0, S. 40 f.
Normdaten (Sachbegriff): GND: 4464685-9 (GND Explorer, lobid, OGND)
Wikipedia

Dieser Text basiert auf dem Artikel Framework aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

Frameworks auf jobtic.com

Backend

Experten finden

jobtic.com verbindet IT-Freiberufler, Selbstständige, Consultants, Projektanbieter, IT-Dienstleister und Unternehmen in einer zentralen IT-Projektbörse für den deutschsprachigen Markt. Die Plattform unterstützt die Suche nach Frameworks Freelancern, Frameworks Projekten, Contracting-Einsätzen, Remote-Projekten, IT-Jobs, Interim-Rollen, technischen Experten und spezialisierten Beratern.

Chancen entdecken

Freelancer profitieren von einer professionellen Präsentation ihrer Expertise im Bereich Frameworks und erhalten Zugriff auf aktuelle Projektangebote, Projektanfragen und neue Karrierechancen im IT-Freelancer-Markt. Durch moderne Such- und Filterfunktionen lassen sich passende Projekte, Auftraggeber, Recruiter und Kontakte schnell identifizieren.

Wissen einordnen

Neben der Projekt- und Expertenplattform bietet jobtic.com umfangreiche Informationen, Hintergründe und Wiki-Inhalte rund um Frameworks. Dazu gehören Grundlagen, Definitionen, Einsatzbereiche, Entwicklungen, Versionen, Methoden, technische Zusammenhänge, Best Practices und aktuelle Marktinformationen zu Frameworks.

Vernetzung stärken

Unsere jobtic-Übersicht zu Frameworks kombiniert Wissensdatenbank, Projektbörse, Freelancer-Verzeichnis, Experten-Suche und Projektmarkt in einer zentralen Plattform. Besucher finden hier sowohl Informationen zu Frameworks als auch passende Freelancer, Berater, Entwickler, Consultants, Administratoren, Support-Spezialisten und aktuelle IT-Projekte mit Bezug zu Frameworks.

Kontakte aufbauen

jobtic.com unterstützt Freelancer und Unternehmen dabei, schneller passende Projekte, Experten und Geschäftskontakte im Bereich Frameworks zu finden. Egal ob Projektakquise, Expertenvermittlung, Freelancer-Suche, Contracting, IT-Consulting oder spezialisierte Projektbesetzung - jobtic.com bietet die passende Plattform für den modernen IT-Projektmarkt.

Zentral vernetzen

Wer nach Frameworks Freelancern, Frameworks Experten, Frameworks Projekten, Frameworks Beratern, Frameworks Consulting, Frameworks Contracting, Frameworks Projektbörse, Frameworks Freelancer-Profilen oder aktuellen Entwicklungen rund um Frameworks sucht, findet auf jobtic.com eine zentrale Anlaufstelle für Wissen, Projekte und professionelle Vernetzung im IT-Umfeld.

Passende Projekte zu Frameworks

Mehr Projekte

Projekte veröffentlichen

Unternehmen können Projekte mit Anforderungen, Laufzeiten, Technologien, Einsatzorten, Remote-Anteilen, Budgetrahmen und Projektbeschreibungen veröffentlichen. Gleichzeitig ermöglicht jobtic.com die gezielte Suche nach verfügbaren Frameworks Spezialisten mit passenden Erfahrungen, Branchenkenntnissen und technischen Fähigkeiten.

Aktuell sind keine sichtbaren Projekte verfügbar.