Eine kleine Zusammenfassung zur Vorstellung von Marionette.js

Geschrieben von: René Zschoch

Beim letzten Treffen haben wir wieder ausführlich die Umsetzung von Webanwendungen mit JavaScript diskutiert. Während es die letzten Male vor allem um die Backend-Umsetzung mit Node.js ging, lag diesmal der Schwerpunkt auf der Umsetzung im Frontend. Wie kontrovers das Thema ist, hat sich für mich erst heute wieder beim Lesen eines Blog-Artikels von Localytics bestätigt.

In diesem Artikel werden die Hauptprobleme komplexerer Backbone.js-Anwendungen beschrieben. Dabei haben sich die Entwickler zu Beginn leider nicht mit der Philosophie von Backbone.js und den daraus resultierenden Anforderungen an den Entwickler befasst. Denn im Vergleich zu JavaScript-Frameworks wie Angular.js oder Ember.js gibt Backbone.js kaum Konventionen für die Entwicklung vor und überlässt aus Gründen der Flexibilität wichtige Entscheidungen zur Anwendungsarchitektur dem Entwickler.

Hier setzt die Backbone.js-Erweiterung Marionette.js an. Im Zusammenspiel mit Backbone.js bleibt zwar die Flexibilität erhalten, typische Probleme umfangreicherer Anwendungen werden aber schon im Ansatz vermieden.

Mit Marionette.js erhält Backbone.js unter anderem Module, die den visuellen Aufbau einer Anwendung durch Regions und Layouts vereinfachen sowie weitere Module zur Ausgabe von Backbone.js-Models und Collections. Das ist aber nur eine kleine Auswahl aus einer ganzen Reihe nützlicher Bestandteile von Marionette.js.

In meinem Vortrag habe ich an einem realen Projekt meinen Einsatz von Marionette.js beschrieben und bin froh, zu Beginn die zusätzliche Zeit für den Einstieg investiert zu haben. Ohne die Unterstützung hätte ich bei meinem ersten Backbone.js-Projekt vermutlich einige Fehlentscheidungen getroffen, die ich im späteren Verlauf des Projekts nur sehr aufwändig hätte beheben können.

Für komplexere Backbone.js-Anwendungen kann ich deshalb nur jedem Entwickler die Verwendung eines Frameworks empfehlen. Neben Marionette.js sind das vor allem Chaplin.js und Thorax.js, von denen jedes einen etwas anderen Ansatz verfolgt – so sieht das auch Derick Bailey, der Hauptentwickler von Marionette.js.

Mich überzeugen vor allem die stetige, zuverlässige Weiterentwicklung sowie die sinnvollen Konzepte und Hintergründe von Marionette.js. Andere Frameworks wie Angular.js bleiben natürlich trotzdem interessant und sind glücklicherweise auch das geplante Thema unseres nächsten Treffens.