Die Frage, welches das "Beste" JavaScript-Framework ist, wird teilweise mit einer Vehemenz geführt, die an religiöse Fragen heranreicht. Die traurige Wahrheit ist, dass die einzige Konstante in diesem Bereich der stete Wandel ist. Früher oder später wird es eine bessere Alternative geben. War in dem einem Jahr AngularJS noch die ultimative Wahl, so war im nächsten Jahr React dominant. Allerdings hielt diese Dominanz nur vor bis Angular mit einer neuen Architektur herauskam.
Was bedeutet dieses Wissen für den Auswahlprozess? So dramatisch, wie es sich im ersten Moment anhört, ist es in der Praxis tatsächlich selten. Zum einen bleiben die grundlegenden Strukturen und Konzepte der Web-Entwicklung über einen längeren Zeitraum stabil. Je mehr Erfahrung man hat, desto leichter fällt es, sich in ein neues Framework einzuarbeiten. Auf dem Fundament des bisherigen Wissens kann man zu neuen Höhen hinaufsteigen.
Zum anderen muss immer wieder evaluiert werden, ob das vermeintlich bessere Framework tatsächlich ein Problem des aktuell eingesetzten Frameworks löst, was in den eigenen Projekten auftritt. Wenn z.B. der versprochene Performance-Gewinn gar nicht so entscheiden ist, weil die bisherigen Projekte in dem Aspekt völlig zufriedenstellend waren, besteht kein Grund, aktiv zu werden.
Stets gilt es zu evaluieren, ob die neuen Features tatsächlich zu einer Effizienzsteigerung bei der Entwicklung führen. Die Anwender interessieren sich nicht dafür, mit welchem Framework die Anwendung realisiert wurde. Sie interessieren sich dafür, ob sie ihren Zweck erfüllt. Selbstverständlich sind aus Auftraggebersicht die zu veranschlagenden Kosten wichtig.
Die folgenden Kriterien sollten bei einer Auswahl berücksichtigt werden
- Deckt das Framework die gewünschten Einsatzszenarien ab?
- Hat es eine ausreichende Verbreitung, sodass eine lange Lebensdauer wahrscheinlich ist?
- Gibt es genug Ressourcen, um das Framework zu erlernen?
- Ist die Community ausreichend groß, sodass Fragen leicht beantwortet werden können?
- Lassen sich viele schnell einsetzbare Komponenten finden?