Frameworks haben Vor- und Nachteile, wie schon Einiges geschrieben.
Es gibt aber abseits der programmtechnischen Punkte noch andere zu Bedenken:
Vorteile
- Frameworks können neue API und Philosophien reinbringen
- dadurch Vieles vereinfachen (siehe unten beschrieben)
Nachteile
- Frameworks haben hohe Lernkurve (wie schon gesagt)
- Frameworks erhöhen die gesamte Systemkomplexität
- Frameworks erhöhen die Abhängigkeit von 3rd Party
- Frameworks sind selten fehlerfrei und bringen ganz neue Fehlermöglichkeiten
- Ob ein Framework ein spezielles Problem löst kann man erst nach einiger Erfahrung sagen
- Frameworks haben in der Regel eigene Code- und Stil-Philosophien
- Frameworks Code ist nicht immer leicht lesbar
- Frameworks sind nicht immer gut/sauber gepflegt
- Frameworks haben nicht immer einen guten Service
- Frameworks Entwicklung läuft asynchron zur RadStudio Entwicklung,
d.h. man muss oft länger auf kompatible Versionen bei neuem RadStudio warten.
Wenn das Framework kritisch ist kann das Probleme bereiten, wenn eine dringende Lösung 2-3 Monate Verspätung hat.
Ich für meinen Teil habe mich über die Jahre konsequent von den üblichen großen Frameworks verabschiedet (Tms, DevExpress, und andere), auch weil diese nicht unerhebliches Geld kosten, und ich im Gegenzug davon max, 10% genutzt hatte.
Kosten/Nutzen war also etwas in Schieflage.
Meine Strategie ist es höchstens gute freie, und konsequent eigene Frameworks zu entwickeln.
Damit bin ich bisher ganz gut gefahren.
Ich meine RadStudio bietet mittlerweile so viel drumherum an, das man auch ohne zusätzliche Verstärkung gut klarkommt.
Ich würde Frameworks nur für bestimmte Spezialfälle einsetzen, wo es sich nicht lohnt etwas Eigenes zu entwickeln (z.B. HtmlEditor, ORM, ...).
Die generellen Frameworks die nur als "Komponentengräber" dienen brauche ich jedenfalls nicht mehr.