Was ist ein Framework?

Der Begriff “Framework” bedeutet ins Deutsche übersetzt “Rahmen” oder “Gerüst”. Übertragen auf die Softwareentwicklung handelt es sich hierbei also um einen Rahmen, welchen der Programmierer mit seinem eigenen Code füllen kann. Ein Framework ist also niemals ein eigenständiges Programm, eine Website oder eine App, vielmehr ein vorprogrammiertes Grundgerüst, auf welches bei der Entwicklung eines Projekts zurückgegriffen werden kann. 

Das Framework enthält bereits Strukturen, Elemente oder Funktionen, die bei der Programmierung eines bestimmten Projekts immer wieder benötigt werden. Für den Entwickler bedeutet dies natürlich eine enorme Arbeitserleichterung, da diese bereits vorhandenen Inhalte nicht jedes Mal neu programmiert werden müssen. 

Frameworks gibt es für verschiedene Anwendungsgebiete wie etwa Web- oder Desktopanwendungen, für die Entwicklung von Apps oder Spielen und vieles mehr Werden beispielsweise immer wieder Webshops programmiert, so ähnelt sich der Code der verschiedenen Shops zwangsläufig in einigen Teilen. Aus den sich gleichenden Teilen können somit die Bausteine für ein Framework werden. Auch unsere Programmierer greifen bei der Arbeit auf verschiedene, zum Teil auch selbst entwickelte, Frameworks zurück. 

Der Unterschied zwischen Framework und Library 

Zunächst einmal zum Unterschied zwischen Framework und Library: Ein Framework gibt dem Projekt die Software-Architektur vor, das Grundgerüst steht also bereits. Bei einer Library greift der Entwickler lediglich auf bereits vorgefertigte Bausteine zurück, den Aufbau der Software muss er selbst bestimmen. 

Der Unterschied zwischen Framework und SDK

Die Übergänge zwischen einem Framework und einem SDK (Software Development Kit) scheinen fließend zu sein. Tatsächlich werden die Begriffe häufig synonym oder sogar gemeinsam genutzt, so nennt beispielsweise Microsoft seine .NET Programmierplattform offiziell auch .NET Framework SDK. 

Eigentlich sind die Unterschiede jedoch recht offensichtlich. Während es sich bei einem Framework eben um ein Grundgerüst zur Programmierung einer bestimmten Anwendung handelt, ist ein SDK eine Sammlung von verschiedenen Programmierwerkzeugen. Diese Werkzeuge können natürlich genutzt werden, um das Grundgerüst des Frameworks weiter auszubauen, vorausgesetzt sie sind kompatibel. 

Zu Abstrakt? Für ein einfacheres Verständnis haben zwei unserer Programmierer folgendes, an die Architektur angelehntes, Bild entworfen: Das verwendete Framework liefert ein Grundgerüst, es entscheidet also darüber, ob beispielsweise ein Wolkenkratzer oder ein Fachwerkhaus gebaut wird. Das SDK hingegen liefert die passenden Werkzeuge, je nachdem welches Gebäude es am Ende werden soll.

Ihr habt weitere Fragen zu dem Thema? Dann schreibt uns gerne an!