Was sind Frameworks?

Man stolpert beinahe überall im Web über sie: Frameworks. Es gibt sie für alle Sprachen, für Ruby, PHP, Javascript oder sogar HTML/CSS. Aber was ist das eigentlich?

Was ist ein Framework?

Auch hier muss die Wikipedia zitiert werden:

Wörtlich übersetzt bedeutet Framework (Programm-)Gerüst, Rahmen oder Skelett. Darin wird ausgedrückt, dass ein Framework in der Regel eine Anwendungsarchitektur vorgibt.


Und auch das dot.net Magazin schrieb kürzlich:

Ein Framework in diesem Sinne bestimmt, wie die Struktur einer bestimmten Klasse von Anwendungen aussieht, und legt weitgehend fest, wie diese Anwendungen funktionieren. Das Framework hat die eigentliche Kontrolle und nicht die hinzugefügten Teile.

Frameworks enthalten also standardisierte Muster, die immer wieder verwendet und erweitert werden können/sollen, und erleichtern so jedem Programmierer seine Arbeit. Frameworks gibt es für beinahe alle Zwecke, bekannt sind hier beispielsweise das MVC-Framework Ruby on Rails, das Zend Framework oder das CSS-Framework YAML.

Wozu überhaupt ein Framework?

Genau aus dem Grund der einfachen Wiederverwendung. Die enthaltenen Bausteine können mit einander kombiniert werden, Arbeitsabläufe lassen sich optimieren. Automatisierung. Optimierung. Produktivität. Je nach Zielsetzung stehen dann eines oder mehrere Frameworks für den Einsatz zur Verfügung. Die Wahl liegt bei jedem selbst:

Habe ich die paar Funktionen nicht schneller selbst geschrieben? Was wenn keines der vorhandenen Frameworks genau die Anwendungen bietet, die ich benötige? Soll ich gleich 5 verschiedene verwenden und damit mein Projekt unnötig aufblähen?
Jein. Es gibt Gründe für und gegen den Einsatz von Frameworks. Die Vorteile sind:

  • man muss das Rad nicht neu erfinden
  • anpassbar + (oft) erweiterbar = zeitsparend
  • ständige Weiterentwicklung (Support, Tests)
  • Warum nicht?

Ein Versuch ist es also wert, vor allem, wenn man für einen solchen Versuch weniger Zeit benötigt.

Mehr Infos:

Ein Gedanke zu „Was sind Frameworks?“

Schreibe einen Kommentar

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