Workshop: Webanwendungen strukturieren mit Backbone und Chaplin

· Keine Kommentare

Auf den JavaScript Days 2014 habe ich den Workshop »Webanwendungen strukturieren mit Backbone und Chaplin« gehalten. Dabei ging es weniger darum, umfangreiche JavaScript-Single-Page-Apps zu bauen, sondern darum, üblichen jQuery-Code mithilfe des Model-View-Controller-Patterns zu strukturieren. Dazu eignet sich die kompakte Bibliothek Backbone.js.

Im Workshop wurde eine kleine Beispielanwendung in jQuery umgesetzt und anschließend die Probleme diskutiert, die eine Umsetzung mit reinem jQuery mit sich bringt. Nach einer Diskussion möglicher Strukturierungstechniken, darunter objektorientierte Programmierung, wurde Backbone vorgestellt. Die Kernidee von Backbone ist die Trennung von Daten- und Darstellungslogik. Die dabei entstehenden Models bzw. Collections und Views werden mithilfe von Event-Handling aneinander gebunden (Data-Binding). Die erwähnte Beispielanwendung wurde dann mit Backbone neu strukturiert.

Backbone ist eine einfache, minimalistische Bibliothek, die absichtlich viele Fragen offen lässt und Entscheidungen erfordert. Backbone ist äußerst flexibel und gibt keine klare Richtung vor. Das ist ihr größter Vor- und Nachteil zugleich. Hier helfen Bibliotheken weiter, die auf Backbone aufsetzen und eine konventionelle Anwendungsstruktur vorgeben. Im Workshop wurde Chaplin.js vorgestellt, das die Entwicklung robuster und skalierbarer JavaScript-Anwendungen auf Basis von Backbone ermöglicht.

Als vollwertige Beispielanwendung für Chaplin habe ich den Chaplin Car Manager (GitHub-Repository) vorgestellt. Die Anwendung veranschaulicht den Umgang mit Routen, Controllern, Actions und das Teilen mit Daten zwischen Controllern mithilfe des Composers. Der Car Manager ist auch online verfügbar.

Mehrtätiger Workshop zu JavaScript OOP, Design Patterns und Single-Page-Apps

Im Zuge dessen habe ich meinen umfangreicheren, mehrtägigen JavaScript-Workshop überarbeitet (siehe auch GitHub-Repository). Der Workshop vermittelt die Grundlagen von JavaScript auf hohem Niveau, objektorientierte und funktionale JS-Programmierung, jQuery-Interna, Backbone.js-Grundlagen und -Anwendungsbereiche, das MVC-Pattern und schließlich Chaplin.js für komplexe HTML5-Webanwendungen. Mit diesem Wissen ist es EntwicklerInnen möglich, sowohl kleinere als auch größere JavaScripte sinnvoll zu strukturieren und zu entscheiden, welches das richtige Werkzeug ist.

Mein Arbeitgeber 9elements bietet neben maßgeschneiderter Web- und Software-Entwicklung Workshops und Schulungen zu den Themen HTML5, CSS, JavaScript und Single-Page-Apps an. Falls Sie Interesse haben, kontaktieren Sie uns: mathias.schaefer@9elements.com.