Kris: JavaScript SPA-Frameworks

Beitrag lesen

Hallo allerseitsm,

ich bin gerade bei der Evaluierung von JavaScript Single-Page-Application Frameworks.

Meine Anforderungen sind:

  • RESTful data layer (wie zb ember-data)
  • MV*-Structure
  • Dynamic Routes
  • Testing-support
  • Coding by convention
  • SEO-Unterstuetzung
  • Vorgeschriebene Strukturen
  • Browser-History-Support
  • Komplette API-Dokumentation
  • Production-ready
  • gute Community

BACKBONE
Die derzeitige Applikation nutzt Backbone.js. An sich ein feines Projekt. Mir fehlen jedoch eindeutige Strukturen, wo was zu geschehen hat. Es wird zu wenig vorgeschrieben. Die Freiheiten fuehren leider dazu, dass jeder im Team "seine eigene Suppe kocht". Dies moechte ich verhindern.

EMBER
Hierfuer habe ich mir ember.js naeher angeschaut. Ich finde das Konzept sehr gelungen. Allerdings musste ich in zwei Wochen Evaluierung bereits meinen rudimentaeren Code auf drei verschiedene Versionen migrieren. Das liegt daran, dass ember.js noch sehr stark in der Entwicklung steckt. Und es ist recht unersichtlich, wann die final fertig sein wird.

ANGULAR
Angular.js ist auch ein weit verbreitetes Framework. Allerdings finde ich die Loesungswege fuer Probleme umstaendlich. Auch werden die Verantwortlichkeiten - welche Komponente fuer was zustaendig ist, und wie diese hinreichend interagieren - nicht tiefgehend erklaert. Wohlbemerkt ist das nur meine eigene Meinung.

BATMAN, METEOR
Beide Framework beduerfen einer eigenen Serverinstanz. Das beisst sich mit meinem angestrebten RESTfull-Konzept: Alle Datenzugriffe sollen ausschlieszlich ueber eine REST-API erfolgen - unabhaengig davon, welche Sprache/Technik/Server im Backend dafuer zustaendig ist.

KNOCKOUT, CANJS, SPINE
Diese habe ich mir bisher noch nicht naeher angeschaut - habe das auf grund deren geringen Verbreitung etwas Bedenken.

Hat einer von euch hier tiefergehende Erfahrungen in SPA-Frameworks und kann mir ggfs. eines empfehlen (oder auch abraten), welches nicht in meiner Liste vorhanden ist?

Hier mal ein Link zu einem interessanten Blogpost von Steven Anderson - Core-Entwickler von Knockout.js - ueber die  "Throne of JS"-Konferenz von 2012.

Vielen Dank,
Kris