medien zwischen technologie und gesellschaft dozent: herr prof. dr. manfred thaller ss 13 referent:...

28
Backbone.js Medien zwischen Technologie und Gesells Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Upload: elsabeth-helmke

Post on 05-Apr-2015

107 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Backbone.js

Medien zwischen Technologie und GesellschaftDozent: Herr Prof. Dr. Manfred ThallerSS 13Referent: Christian Braun

Page 2: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

KLICK!

Page 3: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 4: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Ein „KLICK“ = eine komplett neu geladene HTML- Seite

einzig einzelne Bereiche werden ausgetauscht Popups werden angezeigt komplexe Navigationsstrukturen

Durch Backbone.js weg von..

und hin zu komplexen Webapplikationen..

Page 5: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 6: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 7: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 8: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 9: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 10: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 11: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 12: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun
Page 13: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Grundlegendes..JavaScript –Bibliothek/ „Baukasten“

=> Modelle und Funktionen werden bereitgestellt

ausgelegt für die Entwicklung von Webapplikationen

Verwendet das Underscore- Framework enthält >80 Add-on Funktionen für Javascript

Verschiedene Plattformen werden bedient

Ziele von Backbone..

..Hilfestellung bei Erstellung von Applikationen!

..schaffen einer Struktur!

..plattformübergreifend!

Problem bei Javascript Codes OHNE Backbone

o nicht existente Strukturo es wird verzweifelt versucht, Daten

synchron zwischen => HTML- Benutzeroberfläche=> JavaScript- Logik=> Datenbank

auf dem Server zu halten!

o „Spaghetti“ Code kann JEDER

Backbones „Model -View -Router Prinzip“!

Page 14: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Models

• speichert Daten

• Eintrag in Datenbank• neu angelegt• verändert• gelöscht

Views

• Verantwortlich für die Anzeige des Inhalts

• Vermittlung zwischen Benutzer und Model

Router

• Übernimmt Navigation innerhalb einer Seite

• Steuerzentrale

COLLECTIONS

Page 15: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

o View holt sich Daten vom Model, nicht vom Server

o können beliebig erstellt, verändert und gelöscht werdeno View aktualisiert sich selbstständig

o Router/Model fordern „change –Event“

Windows/Linux

Oberfläche

MODEL

Weboberfläche

VIEW 1

VIEW 2

Page 16: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Auf in die Praxis- Das Kochbuch!

KLICK MICH!

Page 17: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

<!DOCTYPE html> <html><head>

<meta http-equiv="content-type" content="text/html;charset=UTF-8">

<title>Cookbook</title> <link href="bootstrap/css/bootstrap.min.css"

rel="stylesheet" media="screen"> <link rel="stylesheet" type="text/css"

href="styles/main.css">

<script src="scripts/jquery-1.8.2.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <script src="scripts/underscore-1.4.2.min.js"></script> <script src="scripts/backbone-0.9.2.js"></script>

HTML..

Page 18: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

var recipe = Backbone.Model.extend({

defaults: {

title: "New recipe",

ingredients: "",

instructions: ""

}

});

Model..

„Recipe“ -Objekte erben alle Methoden des Basis –ModelsDefaults: Standardwerte werden initialisiert

Page 19: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Neues Rezept erstellen

var recipe = new Recipe({

title: "Spiegeleier",

ingredients: „2 Eier“,

instructions:„Eier in heiße Pfanne geben. Warten“

})

Model.. Keinerlei Funktionen zum

Erstellen von HTML- Elementen!

Page 20: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

var recipe = new Recipe({

title: "Spiegeleier",

ingredients: „2 Eier“,

instructions:„Eier in heiße Pfanne geben. Warten “

})

var title = recipe.get(„title“);

VIEW -Anzeige= „Spiegeleier“

get..

Page 21: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

var recipe = new recipe({

title: "Spiegeleier",

ingredients: „2 Eier“,

instructions:„Eier in heiße Pfannge“})

var title = recipe.set(„title“, „Schnitzel“);

var title = recipe.get(„title“);

VIEW -Anzeige= „Schnitzel“

set..

Page 22: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

clear..

var recipe = new recipe({

title: "Spiegeleier",

ingredients: „2 Eier“,

instructions:„Eier in heiße Pfannge“})

var title = recipe.clear(„title“)

var title = recipe.get(„title“)

VIEW -Anzeige= „ “

Page 23: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Collection..

var Cookbook = Backbone.Collection.extend({

model: recipe

});

dient dazu, mehrere Instanzen zusammenzufassen alle Rezepte befinden sich in einer Collection

Page 24: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

View..var EditView = Backbone.View.extend({

template: _.template($('#template-edit').html()), 

events: { 'click input[type="submit"]': 'save'},save: function() { this.model.set({ title: this.$el.find('#title').val(), ingredients: this.$el.find('#ingredients').val(), instructions: this.$el.find('#instructions').val() }); this.trigger('finished'); return false; },render: function() { this.$el.html(this.template(this.model.toJSON())); return this;}

});

Mehrere Views können das

gleiche Model anzeigen!

Ein View kann mehrere Models

anzeigen!

Page 25: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

events: {

'click input[type="submit"]': 'save'

},

click- Events auf Submit- Buttons rufen save() -Funktion auf!

View.. PART 1

Page 26: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

save: function() {

this.model.set({

title: this.$el.find('#title').val(),

ingredients: this.$el.find('#ingredients').val(),

instructions: this.$el.find('#instructions').val()

});

this.trigger('finished');

return false;

},

speichert Werte aus Formular zurück ins Model erzeugt finished -Event

=> Mitteilung, dass Rezeptbearbeitung beendet ist

View.. PART 2

Page 27: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

render: function() {

this.$el.html(this.template(this.model.toJSON()));

return this;

erzeugt HTML–Code für den ViewUnderscore –TemplateJSON: ordnet Model an=> Template kann zugreifenAndere Backbone Methoden können angefügt werden

View.. PART 3

Page 28: Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun

Router..

var CookbookApp = Backbone.Router.extend({

routes: {

'': 'home',

'recipe/add': 'add',

'recipe/:id': 'display'

},

 

home: function() { console.log(‘home‘) };

new HomeView();

add: function() { console.log(‚add‘) };

new AddView();

display: function() { /* ... */ }

new RecipeView

});

URL nach „#“ wird ausgelesen

Router gibt Änderung an View weiter