Frameworks – Eine Übersicht, Vor- und Nachteile

Wenn man sich aktuell mit Webentwicklung beschäftigt, begegnet man einer Thematik immer öfter, den sogenannten Frameworks. Nur ein Trend? Bringt das Vorteile, oder eher nicht? Mit diesen Fragen und noch ein weniger mehr, möchte ich mich heute beschäftigen.

Man stellt sich vor, man arbeitet jeden Tag mit derselben Vorgehensweise. Irgendwann fragt man sich zwangsläufig, ob das nicht einfacher, kürzer und schneller geht. Sicher haben so auch die ersten Überlegungen bei der Entstehung sämtlicher Frameworks begonnen, aber ist schneller gleich besser? Was ist ein Framework genau?

An dieser Stelle zitiere ich zunächst mal den einleitenden Satz von Wikipedia:

»Ein Framework (englisch für Rahmenstruktur) ist ein Programmiergerüst, das in der Softwaretechnik, insbesondere im Rahmen der objektorientierten Softwareentwicklung sowie bei komponentenbasierten Entwicklungsansätzen, verwendet wird … «

Aha, Rahmen also. Wie jetzt Rahmen? Okay, schauen wir und noch eben die Beschreibung an, dort ist zu lesen:

»Ein Framework ist selbst noch kein fertiges Programm, sondern stellt den Rahmen zur Verfügung, innerhalb dessen der Programmierer eine Anwendung erstellt, wobei u. a. durch die in dem Framework verwendeten Entwurfsmuster auch die Struktur der individuellen Anwendung beeinflusst wird.«

Quelle: wikipedia.org

Das klingt schon verständlicher. Frameworks sind also Gerüste oder Rahmen, die wir nach Belieben einsetzen dürfen. Man könnte auch sagen, ein Framework ist ein Werkzeug zur Verallgemeinerung von Strukturen, um den Quellcode einfacher schreiben zu können, zu entwickeln und auch beliebig wiederzuverwenden. Dieser Code besteht meist aus Blöcken, man könnte diese auch Bausteine nennen, die nach Notwendigkeit verwendet werden.

Solche Frameworks in so gut wie allen Auszeichnungs- Skript- und Programmiersprachen.

frameworks

Abbildung bzw. Logos, einiger beliebten und weitverbreiteten Frameworks.

Hier finden sich Vertreter der Sprachen HTML & CSS, JavaScript und PHP.

 

Wie alles andere auch hat ein Framework natürlich Vor-und Nachteile. Diese schwanken je nach Einsatzbereich, nachfolgende Liste ist aber meist gültig.

 

Vorteile von Frameworks

  • Kosten

Die meisten populären Frameworks sind kostenlos verfügbar und an keine Lizenzbeschränkungen gebunden (von ein paar Ausnahmen abgesehen). Das ist nicht nur für die Beschaffungskosten der Entwickler gut, dies schlägt sich auch auf den Preis für den Endkunden nieder. Selbst mächtige PHP-Frameworks sind meist kostenlos verfügbar.

  • Dokumentation, Community & Unterstützung

Frameworks verfügen meist über eine umfangreiche Dokumentation (je nachdem, an wen sich das System richtet, mehr oder minder umfangreich), einem Support-Team oder einer großen Community. So findet man relativ schnell Antworten und auch entsprechende Hilfe.

Auf der Herstellerseite sind auch immer viele praktische Anwendungsbeispiele zu sehen, was auch bei der Entscheidung für das passende System wichtig und hilfreich ist.

  • Sicherheit

Bei der Webentwicklung immer ein Thema, so auch bei Frameworks. Für weitverbreitete Systeme ist Sicherheit und auch eine kompetente, zügige Reaktion auf Sicherheitslücken unabdingbar. Wer sich hier Fehler leistet, verliert garantiert Nutzer und riskiert den guten Ruf. Hier kommt als Nebeneffekt ein weiterer Vorteil zu tragen. Steckt eine große Community hinter dem Framework, arbeitet ein Teil der Nutzer meist mit an der Lösung von Sicherheitsschwächen. So fungiert die Community auch als Tester und gleichzeitig Mitentwickler. So werden gefundene Schwachstellen oft sofort gemeldet und so auch relativ schnell wieder behoben.

  • Geschwindigkeitsvorteil

Geschwindigkeit nicht im Sinne von Arbeitsgeschwindigkeit, sondern der reinen Entwicklungszeit. Die eigentliche Arbeit, also unzählige Zeilen Code zu schreiben, entfällt hier zu großen Teilen. Dies wird hier mithilfe von vorgefertigten Funktionen und Codeblöcken umgesetzt. Unter dem Strich wird die Arbeit im Idealfall einfacher, schneller und damit effizienter.

  • Flexibilität

Frameworks bilden eine sehr flexible Grundlage, auf deren Basis sich Websites und Webanwendungen für verschiedenste Anwendungsbereiche erstellen lassen. Das Gerüst und die vordefinierten Inhalte sind so aufeinander abgestimmt, um jederzeit eine schnelle und flexible Anpassung zu ermöglichen. Von der Textzeile bis zu ganzen Funktionen.

Auch teambasierte Arbeit an Frameworks lässt sich durch z. B. cloudbasierte Arbeitsweise flexibel gestalten. Die Frameworks arbeiten hier mit verschiedenen Synchronisierungsmechanismen per Cloudserver.

Nachteile der Frameworks

  • Quellcode frei zugänglich

Jeder kann sich mit den Mechanismen des Quellcodes vertraut machen. So wären auch Missbräuche möglich, wenn das in der Praxis auch selten vorkommt.

  • Codeballast

Arbeitet man mit einer vorgegebenen Struktur, nutzt man in den seltensten Fällen alle Möglichkeiten aus. So kann es (je nach Umfang des verwendeten Frameworks) zu Ballast kommen, den man ungenutzt herumschleppt.

  • Strukturelle Einschränkungen

Die Struktur ist vorgegeben! Das bedeutet, jedes Framework hat seine Grenzen und Sie müssen Ihre Arbeit diesen anpassen. Dies sollte ein elementarer Punkt bei der Wahl des Frameworks sein.

  • Oberflächliche Sprachkenntnisse

Um es auf den Punkt zu bringen; man lernt mit der Sprache umzugehen, sich damit zu arrangieren, nicht sie zu beherrschen. Dies kann auch als Vorteil gewertet werden, aus meiner Sicht ein Nachteil, denn es geht viel Basiswissen verloren und es begegnet einem unglaublich viel Halbwissen mit teilweise gravierenden Folgen.

Fazit

Betrachtet man die bloße Anzahl der verfügbaren Frameworks, deren Verbreitung in der Branche und die Vielfalt der Möglichkeiten, so kommt man kaum drum herum, sich damit zu beschäftigen. Für Freiberufler oder kleinere Werbeagenturen ist meist schon der Kostenfaktor ein gewichtiger Grund. Ich persönlich nutze fast immer in irgendeiner Form ein Framework, sei es nur für einen einfachen Webauftritt oder als Ergänzung zu beispielsweise CMS-Systemen. Möglichkeiten gibt es da …

Weitere Info´s

Über

Hi, ich bin Marc Berndt. Mediengestalter, Farbenversteher und interessiere mich für alles aus dem IT-Bereich. Ich bin gerne im Internet unterwegs und mag die Möglichkeiten, die das Netz bietet. Und ja, ich programmiere, fotografiere & zeichne sehr gerne.

Folge dem Autor

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*
*