Tach!
Entschuldigt bitte, dass ich mich mal hier reindrängle. Ich möchte demnächst eine SPA (Single Page Application) aufsetzen und muss mich dazu für ein Framework entscheiden. Leider hatte ich bisher noch nicht die Zeit und Muße gefunden, mich näher mit den Angeboten zu befassen. Daher versuche ich mal auf diesem Weg, Erfahrungswerte abzugreifen, gern auch in Form von Verweisen (aber bitte keine Metaverweise auf Suchmaschinen, das kann ich selbst, ist nur aufwendig, Spreu von Weizen zu trennen). Anforderungen gibts nach derzeitigen Planungen keine, die über 08/15 hinausgehen.
Bei komplexeren UI-Controls geht das natürlich nicht. Hier würde ich zu einer bewährten MVC-Struktur raten. Das machen alle Frameworks für JavaScript-Anwendungen so: Angular, Ember, Backbone/Marionette/Chaplin usw. Das würde ich dir letztlich raten, wenn die JS-Logik komplexer wird.
Ist in der Reihenfolge der Nennung schon deine Wertung inbegriffen?
Vor einiger Zeit hatte ich mal kurz KnockoutJS angeschaut, fand es aber nicht so hübsch, besonders nicht die Art und Weise, wie überwachbare Objekte und Eingenschaften erstellt werden. Dazu sind oftmals Funktionsaufrufe (oder ähnliches) notwendig. Auch Magic Strings mag ich nicht (falls die Verwendung finden). Sowas ist für IDEs nicht gut, weil diese nicht wissen, dass solche Strings letztlich nutzbare Eigenschaften darstellen. Das ist für mich ein wichtiger Punkt, dass die IDE (im konkreten Fall wird das PhpStorm sein) weiß, was es autozuvervollständigen gibt, oder notfalls dieses Wissen aus einem von ihr auswertbaren Kommentar ziehen kann.
Dann lief mir AngularJS über den Weg und das sah auf den ersten und zweiten Blick viel gefälliger aus. Da liegt nicht so viel zum Framework gehörender Code in der Anwendung, das arbeitet mit POJOs (Plain Old Javascript Objects) und betreibt seinen nötigen Änderungsüberwachungsmechanismus im Hintergrund. Insofern gefallen mir auch Patterns wie Active Record nicht, zu viel in einer Klasse, Daten und eventuell Geschäftslogik gemischt mit Verwaltungskram.
Stimmt mein oberflächlicher Eindruck soweit mit der Realität überein? Haben die anderen Frameworks herausragende Eigenschaften, die man gern haben möchte? Ein Hipness-Faktor interessiert mich jedoch nicht wirklich, ich muss nur effizient produktiv damit arbeiten können. Kurz und pauschal gefragt: Welches ist das beste?
dedlfix.