Software-Tipps

Auswahlkriterien für Frameworks


Typische Funktionen und Tipps zur Auswahl von Frameworks

Definition Frameworks

Ein Framework bildet den Rahmen für eine Programmierung. Es ist ein Gerüst, das vor allem in der objektorientierten Softwareentwicklung eingesetzt wird. Klassen bzw. Komponentenbibliotheken stellen für die Entwicklung eine Auswahl an Funktionen zur Verfügung. Es gibt unterschiedliche Arten von Frameworks (z.B. Application Frameworks, Class Frameworks, Komponentenframeworks, Web Development Frameworks usw.)

Beachten Sie bitte auch die aktuelle Marktübersicht der Softwarelösungen und Erklärungen zum Thema Frameworks

Ergänzend zu den allgemeinen Softwarekriterien, die in den vorangegangenen Abschnitten beschrieben wurden, finden Sie nachfolgend fachspezifische Kriterien zur Bewertung von Frameworks.


Typische Funktionen von Frameworks:

  • Bibliotheken (z.B. AJAX, Authentifizierung, Authorisation, Caching, Datenvalidierung, etc.)
  • Codeausführungsumgebung
  • konsistente Entwicklungsumgebung
  • Verbindung zu verschiedenen Datenbanken
  • Logging, Recovery, Inter-System Messaging
  • Untersützung von anpassbaren Konnektoren und Adaptern
  • Unterstützung von unterschiedlichen Plattformen und Dateiformaten
  • Datenmapping
  • Automatisches Handling von Ausnahmen und Fehlern
  • Intuitive Modellierungsumgebung und grafische Benutzeroberfläche
  • Sicherheitsfunktionen
  • Verschlüsselungstools
  • Online Performance Monitoring
  • Alerts
  • Unterstützung von Routing Diensten
  • Unterstützung von Simulationswerkzeugen

Weitere spezifische Kriterien und Frage-Anregungen für die Beurteilung von Frameworks:

  • Führen Sie vor der Softwareentscheidung eine gründliche Marktrecherche der potentiell geeigneten Lösungen durch. Unser Tipp: Greifen Sie dabei völlig unverbindlich auf unseren kostenfreien Recherche-Service zurück. Es werden Fragen erarbeitet, weite Teile der Ausschreibung übernommen, potentielle Lösungen strukturiert darstellt und die Kommunikation mit den Anbietern dokumentiert!
  • Bevor Sie nach Frameworks schauen, machen Sie sich eine Anforderungsliste und prüfen Sie, ob Frameworks generell als Lösung in Frage kommen. Dies ist z.B. der Fall wenn Ihre Applikation primär auf CRUD1 Operationen beruht.
  • Umfasst das Framework alle Features bzw. Komponenten, die Sie für die eigenen Anwendungen benötigen? Lassen sich externe Komponenten wie beispielsweise Smarty oder Doctrine etc. einbinden?
  • Klären Sie, welches Muster Sie als Architektur bzw. Entwurfsmuster einsetzen wollen. Neben dem MVC ( Model-View-Controller) Konzept gibt es weitere Konzepte wie beispielsweise MVP (Model-View-Presenter), MVA (Model-View-Adapter), AVC ( Application-View-Controller) oder SAM (State-Action-Mode) und die Schichten-Architektur.
  • Wie verbreitet ist das Framework? Ein hoher Verbreitungsgrad spricht dafür, dass das Framework über einen längeren Zeitraum bestehen wird.
  • Wie aktuell ist das Framework? Gibt es feste Release-Zyklen?
  • Da nicht für jedes Projekt ein eigener Server betrieben wird, klären Sie, ob das Framework mit dem von Ihnen ausgesuchten Server betrieben werden kann. Evtl. müssen Module auf dem Server nachinstalliert werden und bestimmte Settings anders eingestellt werden.
  • Wie gut ist das Framework dokumentiert? Ist die Dokumentation aktuell? Gibt es umfangreiche Tutorials und Anleitungen? Gibt es evlt. auch eine API Dokumentation zum Download?

1 create, read, update, delete (CRUD)
Abkürzungen:
MVC: Model View Controller
MVP: Most Valuable Professional
MVA: Müllverbrennungsanlage
AVC: Advanced Video Coding
SAM: Smart Asset Manager
API: application programming interface
CRUD: create, read, update, and delete