SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
Backbone.js


Sebastian Springer I 16.08.2012




                                  © Mayflower GmbH 2010
HELLO
    MY NAME IS



@basti_springer
Heute:

Struktur für Javascript



                          Mayflower GmbH I 3
Backbone.js




              Mayflower GmbH I 4
Backbone.js




 Backbone.js gives structure to web applications by
 providing models with key-value binding and custom
 events, collections with a rich API of enumerable
 functions, views with declarative event handling, and
 connects it all to your existing API over a RESTful JSON
 interface.




                                                       Mayflower GmbH I 5
Abhängigkeiten




                 Mayflower GmbH I 6
Abhängigkeiten




            Clientside MVC Library




                                     Mayflower GmbH I 7
Abhängigkeiten




                 DOM und Ajax




                                Mayflower GmbH I 8
Abhängigkeiten




                 Utilities




                             Mayflower GmbH I 9
Abhängigkeiten




                 Module Loader




                                 Mayflower GmbH I 10
Der Einstieg




               Mayflower GmbH I 11
Der Einstieg




               Mayflower GmbH I 12
Der Einstieg




               Mayflower GmbH I 13
Der Einstieg




Require.js lädt die Anwendung




                                Mayflower GmbH I 14
Die Konfiguration




                    Mayflower GmbH I 15
Die Konfiguration




                    Mayflower GmbH I 16
Die Konfiguration




                    Mayflower GmbH I 17
Die Konfiguration

                    Lädt die „main“ Datei




                                      Mayflower GmbH I 18
Die „main“ Datei




                   Mayflower GmbH I 19
Die „main“ Datei




                   Mayflower GmbH I 20
Die „main“ Datei




                   Mayflower GmbH I 21
Der Router




             Mayflower GmbH I 22
Der Router




             Mayflower GmbH I 23
Der Router




             Mayflower GmbH I 24
Der Router


             Routendef nition
                     i




             Methodenmapping




                            Mayflower GmbH I 25
Der Router



I Standard Route
     'user': 'user'                    // #user
         user: function () { …

I Mit Parametern
     'user/:name': 'user'              // #user/lala
         user: function (name) { …

I Mit Parametern 2.0
     'user/:name/p:page': 'user'       // #user/lala/p2
         user: function (name, page) { ...



                                                          Mayflower GmbH I 26
Der Controller




                 Mayflower GmbH I 27
Der Controller




                 Router

                          Mayflower GmbH I 28
Der Controller




                 Mayflower GmbH I 29
Der Controller




                 Mayflower GmbH I 30
Der Controller




                 Mayflower GmbH I 31
Der Controller




                 Mayflower GmbH I 32
Das Model




            Mayflower GmbH I 33
Das Model




       Controller

                    Mayflower GmbH I 34
Das Model




            Mayflower GmbH I 35
Das Model




            Mayflower GmbH I 36
Das Model




            Mayflower GmbH I 37
Das Model



I Read → GET
    model.fetch()

I Create → POST       // this.id == null
    model.save()

I Update → PUT
    model.save()      // this.id != null

I Delete → DELETE
    model.destroy()




                                           Mayflower GmbH I 38
Die View




           Mayflower GmbH I 39
Die View




       Controller

                    Mayflower GmbH I 40
Die View




           Mayflower GmbH I 41
Die View




           Mayflower GmbH I 42
Die View




           Mayflower GmbH I 43
Die View




           Mayflower GmbH I 44
Die View




           Mayflower GmbH I 45
Die View




           Mayflower GmbH I 46
Die View




           Mayflower GmbH I 47
Die Collection




                 Mayflower GmbH I 48
Die Collection




        Controller

                     Mayflower GmbH I 49
Die Collection




                 Mayflower GmbH I 50
Die Collection




                 Mayflower GmbH I 51
Die Collection




                 Mayflower GmbH I 52
Die Collection



I Get → auslesen

I Create → neues Model erstellen

I Add → bestehendes Model einfügen

I Remove → Model entfernen

I Sort → laut comperator sortieren

I Filter → customized Suche




                                     Mayflower GmbH I 53
The End




          Mayflower GmbH I 54
Vielen Dank für Ihre
     Aufmerksamkeit!




      Kontakt     Sebastian Springer
                  @basti_springer
                  sebastian.springer@mayflower.de
                  +49 89 242054 1120
                  Mayflower GmbH
                  Mannhardtstrasse 6

17. August 2012
                  80538 München        Mayflower GmbH   55

Weitere ähnliche Inhalte

Ähnlich wie Backbone.js

PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerMayflower GmbH
 
Mobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMayflower GmbH
 
FastCGI Process Manager
FastCGI Process ManagerFastCGI Process Manager
FastCGI Process ManagerMayflower GmbH
 
Disruptive Kraft von Open Source im E-Commerce - Meet Magento
Disruptive Kraft von Open Source im E-Commerce - Meet MagentoDisruptive Kraft von Open Source im E-Commerce - Meet Magento
Disruptive Kraft von Open Source im E-Commerce - Meet MagentoMayflower GmbH
 
Gearman - Distributed Job System
Gearman - Distributed Job SystemGearman - Distributed Job System
Gearman - Distributed Job SystemMayflower GmbH
 
Stored Procedures in MySQL
Stored Procedures in MySQLStored Procedures in MySQL
Stored Procedures in MySQLMayflower GmbH
 
Präsentation plug in development
Präsentation plug in developmentPräsentation plug in development
Präsentation plug in developmentxxtesaxx
 
Paradigmenwechsel bei webapplikationen
Paradigmenwechsel bei webapplikationenParadigmenwechsel bei webapplikationen
Paradigmenwechsel bei webapplikationenJohann-Peter Hartmann
 
Shell Fu for Developers
Shell Fu for DevelopersShell Fu for Developers
Shell Fu for DevelopersMayflower GmbH
 
Patterns of domain driven design
Patterns of domain driven designPatterns of domain driven design
Patterns of domain driven designAdrian Föder
 

Ähnlich wie Backbone.js (13)

Symfony2
Symfony2Symfony2
Symfony2
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit Composer
 
Mobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit Webtechnologien
 
FastCGI Process Manager
FastCGI Process ManagerFastCGI Process Manager
FastCGI Process Manager
 
Disruptive Kraft von Open Source im E-Commerce - Meet Magento
Disruptive Kraft von Open Source im E-Commerce - Meet MagentoDisruptive Kraft von Open Source im E-Commerce - Meet Magento
Disruptive Kraft von Open Source im E-Commerce - Meet Magento
 
Gearman - Distributed Job System
Gearman - Distributed Job SystemGearman - Distributed Job System
Gearman - Distributed Job System
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Stored Procedures in MySQL
Stored Procedures in MySQLStored Procedures in MySQL
Stored Procedures in MySQL
 
Präsentation plug in development
Präsentation plug in developmentPräsentation plug in development
Präsentation plug in development
 
Paradigmenwechsel bei webapplikationen
Paradigmenwechsel bei webapplikationenParadigmenwechsel bei webapplikationen
Paradigmenwechsel bei webapplikationen
 
Shell Fu for Developers
Shell Fu for DevelopersShell Fu for Developers
Shell Fu for Developers
 
Patterns of domain driven design
Patterns of domain driven designPatterns of domain driven design
Patterns of domain driven design
 

Mehr von Sebastian Springer

Creating Enterprise Web Applications with Node.js
Creating Enterprise Web Applications with Node.jsCreating Enterprise Web Applications with Node.js
Creating Enterprise Web Applications with Node.jsSebastian Springer
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsSebastian Springer
 
From Zero to Hero – Web Performance
From Zero to Hero – Web PerformanceFrom Zero to Hero – Web Performance
From Zero to Hero – Web PerformanceSebastian Springer
 
Von 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im WebVon 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im WebSebastian Springer
 
ECMAScript 6 im Produktivbetrieb
ECMAScript 6 im ProduktivbetriebECMAScript 6 im Produktivbetrieb
ECMAScript 6 im ProduktivbetriebSebastian Springer
 
Große Applikationen mit AngularJS
Große Applikationen mit AngularJSGroße Applikationen mit AngularJS
Große Applikationen mit AngularJSSebastian Springer
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptSebastian Springer
 
Warum ECMAScript 6 die Welt ein Stückchen besser macht
Warum ECMAScript 6 die Welt ein Stückchen besser machtWarum ECMAScript 6 die Welt ein Stückchen besser macht
Warum ECMAScript 6 die Welt ein Stückchen besser machtSebastian Springer
 

Mehr von Sebastian Springer (20)

Schnelleinstieg in Angular
Schnelleinstieg in AngularSchnelleinstieg in Angular
Schnelleinstieg in Angular
 
Creating Enterprise Web Applications with Node.js
Creating Enterprise Web Applications with Node.jsCreating Enterprise Web Applications with Node.js
Creating Enterprise Web Applications with Node.js
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.js
 
From Zero to Hero – Web Performance
From Zero to Hero – Web PerformanceFrom Zero to Hero – Web Performance
From Zero to Hero – Web Performance
 
Von 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im WebVon 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im Web
 
A/B Testing mit Node.js
A/B Testing mit Node.jsA/B Testing mit Node.js
A/B Testing mit Node.js
 
Angular2
Angular2Angular2
Angular2
 
Einführung in React
Einführung in ReactEinführung in React
Einführung in React
 
ECMAScript 6 im Produktivbetrieb
ECMAScript 6 im ProduktivbetriebECMAScript 6 im Produktivbetrieb
ECMAScript 6 im Produktivbetrieb
 
Streams in Node.js
Streams in Node.jsStreams in Node.js
Streams in Node.js
 
Große Applikationen mit AngularJS
Große Applikationen mit AngularJSGroße Applikationen mit AngularJS
Große Applikationen mit AngularJS
 
Testing tools
Testing toolsTesting tools
Testing tools
 
Node.js Security
Node.js SecurityNode.js Security
Node.js Security
 
Typescript
TypescriptTypescript
Typescript
 
Reactive Programming
Reactive ProgrammingReactive Programming
Reactive Programming
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScript
 
Warum ECMAScript 6 die Welt ein Stückchen besser macht
Warum ECMAScript 6 die Welt ein Stückchen besser machtWarum ECMAScript 6 die Welt ein Stückchen besser macht
Warum ECMAScript 6 die Welt ein Stückchen besser macht
 
Lean Startup mit JavaScript
Lean Startup mit JavaScriptLean Startup mit JavaScript
Lean Startup mit JavaScript
 
Webapplikationen mit Node.js
Webapplikationen mit Node.jsWebapplikationen mit Node.js
Webapplikationen mit Node.js
 
Node.js für Webapplikationen
Node.js für WebapplikationenNode.js für Webapplikationen
Node.js für Webapplikationen
 

Backbone.js