Backbone.js: Oder was sind Single Page Applications

Werbung

Seit einiger Zeit sind Single Page Applications oder Web-Apps aktueller denn je und mit Backbone.js gibt es ein sehr gutes Javascript Framework welches die Arbeit sehr erleichtern kann. Single Page Applications oder kurz Web-Apps sind Webseiten, die im Grunde aus nur einer einzigen Seite bestehen. Die Schlagwörter hier sind single-page application (SPA) und single-page interface (SPI).

Inhaltsverzeichnis

Geschicktes kombinieren von HTML, CSS und Javascript

Durch die geschickte Kombination von HTML, CSS und Javascript werden Webseiten generiert, die zwar Daten nachladen, aber nicht die komplette Seite. Jeder kennt zum Beispiel das Ausfüllen und Abschicken eines Formulars. Hier wird nach dem Drücken auf den Absenden Button eine Seite aufgerufen, die Formularverarbeitung durchgeführt und dann eine Erfolgsnachricht oder eine Fehlermeldung ausgegeben. Dabei wird wieder das komplette Layout geladen, auch Teile, die sich gar nicht ändern. Genau dies geschieht bei einer Single Page Application nicht. Dort wird nur der Teil nachgeladen, der sich auch geändert hat. In dem Fall mit dem Formular würde das Formular ausgeblendet werden und stattdessen würde man die Erfolgs- oder Fehlernachricht sehen. Die Daten zwischen Client und Server werden mittels Ajax und dem JSON Format ausgetauscht. So ist auch weiterhin eine Kommunikation zwischen Server und Client möglich.

Werbung

Geht auch mit JQuery

Tatsächlich könnte man auch Web-Apps mit JQuery realisieren, allerdings geben Javascript MVC Frameworks dem ganzen Projekt mehr Struktur und Ordnung. Dies ist mit reinem Javascript und auch mit JQuery nicht so einfach möglich. Die Entscheidung für Backbone.js ist eine Bauchentscheidung. Es gibt noch andere gute Javascript MVC Frameworks. Eine Übersicht von 2012 gibt es bei Codechief.

Backbone.js ist gar kein Javascript Framework

Das ist richtig! Backbone.js ist sehr minimalistisch ausgelegt und daher im Grunde kein richtiges Framework. Es hilft dabei das Model, den Controller und die View zusammenarbeiten zu lassen, aber einige Funktionen werden von der Community sehr vermisst. Da Backbone.js über ein sehr gutes Plugin System verfügt können nicht standartmässig verfügbare Funktionalitäten durch Plugins hinzugefügt werden. Zu nennen wäre hier zum Beispiel Marionette.js, welches viele Funktionen zu Backbone.js hinzufügt und auf ein anderen Level hebt.