SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
Vergiss Java
Konzentrier Dich auf
      Script
       OOP 2013
       Maxim Zaks
Agenda
• JavaScript the       • There is no
  good parts
                         "super"
• Embrace objects      • Use Tools that are
  prototypes and
                         build specifically
  closures
                         for JavaScript
• Think about "this"   • etc...
  and "new"
Autos und Fahrräder
Theorie & Praxis
Radschule
Theorie ist Einfach!
Kommen wir zu
Java vs. JavaScript
Hello Java
Java Konzepte

• „package“ und „import“
• Klasse, Objekt und Methode
• „public“ und „static“
Hello JavaScript
Konzepte JavaScript


• Es gibt Objekte und Funktionen
• Objekte haben Eigenschaften
So einfach wie Fahrrad
        fahren...
hat aber auch Nachteile
„this“ ist nicht sicher
Es gibt keine Klassen
und keine Vererbung
Und überhaupt ...
Warum sollte man
   dann überhaupt
JavaScript verwenden?
Zustand
http://d3js.org




Visualisierung und
   Interaktion
Wie sollte ich
 anfangen?
JavaScript ist mehr
   funktional als
Objekt Orientiert
                  5 Typen Zahle, Strings,
                  Arrays, Objekt und
                  Funtionsobjekt.
                  Dabei können
                  Funktionsobjekte als
                  Prototypen für andere
                  Objekte dienen.
http://underscorejs.org/




Funktionssammlung
Erweiterung/Vererbung
Lösung für „this“
Funktionen für Listen
UI spezifisches Problem
Organisation / Module
http://requirejs.org/




Benutze Require.js
Einstiegspunkt
Geladene Abhängigkeiten
models/todo
Konfiguriere
Abhängigkeiten
MV...
Frameworks
http://todomvc.com/




Affe sieht, Affe tut!
Backbone + Require.js
BackboneJS

                       Model repräsentiert Daten
                       Standardmäßig gebunden an REST Interface


• Model / Collection   Views repräsentieren/erzeugen DOM Elemente

                       History erlaubt „deep linking“ und Zurück


• View
                       Funktionalität von Browser




• History / Router
models/todo.js
Collection
slice.call(arguments)
             convert arguments object to array

                        call vs. apply
               explicite vs. array parameter




JavaScript Magie
Todo View
Todo Template
Haupt View
Hinzufügen der Todos
Und jetzt kommen wir
    zum Router?
Zusammenfassung

• JavaScript ist wie Fahrrad fahren!
• Es ist nicht schwer und Umweltfreundlich
• Vergisst aber den Helm nicht
Fragen?
Danke!
http://twitter.com/iceX33
Bildverweise

•   http://www.flickr.com/photos/thefriendlyuser/3062860656/

•   http://bikeways.wordpress.com/2010/05/02/taming-the-bicycle-part-ii-by-mark-twain/

•   http://www.flickr.com/photos/redhope/4160295646/

•   http://www.flickr.com/photos/nathansmith/4704268314/

Weitere ähnliche Inhalte

Andere mochten auch

E day 2014_online_termine_vereinbaren_terminscout_andexer
E day 2014_online_termine_vereinbaren_terminscout_andexerE day 2014_online_termine_vereinbaren_terminscout_andexer
E day 2014_online_termine_vereinbaren_terminscout_andexer
eDay Salzburg
 
Klöckner & Co - Journal 2009
Klöckner & Co - Journal 2009Klöckner & Co - Journal 2009
Klöckner & Co - Journal 2009
Klöckner & Co SE
 
Fundación México Juega
Fundación México JuegaFundación México Juega
Fundación México Juega
RedesCemefi
 

Andere mochten auch (18)

Interer
IntererInterer
Interer
 
2014 02-26-moodlemoot-loop
2014 02-26-moodlemoot-loop2014 02-26-moodlemoot-loop
2014 02-26-moodlemoot-loop
 
20 joerg 20121004-dachli-web
20 joerg 20121004-dachli-web20 joerg 20121004-dachli-web
20 joerg 20121004-dachli-web
 
E day 2014_online_termine_vereinbaren_terminscout_andexer
E day 2014_online_termine_vereinbaren_terminscout_andexerE day 2014_online_termine_vereinbaren_terminscout_andexer
E day 2014_online_termine_vereinbaren_terminscout_andexer
 
Concurso excepcional de ubicación del III al V docente 2014
Concurso excepcional de ubicación del III al V docente 2014Concurso excepcional de ubicación del III al V docente 2014
Concurso excepcional de ubicación del III al V docente 2014
 
PVO México
PVO MéxicoPVO México
PVO México
 
Hegelsche Dialektik Grundlagen Teil III mit Notizen
Hegelsche Dialektik Grundlagen Teil III mit NotizenHegelsche Dialektik Grundlagen Teil III mit Notizen
Hegelsche Dialektik Grundlagen Teil III mit Notizen
 
Klöckner & Co - Journal 2009
Klöckner & Co - Journal 2009Klöckner & Co - Journal 2009
Klöckner & Co - Journal 2009
 
Klöckner & Co - Ergebnisse 3. Quartal 2012
Klöckner & Co - Ergebnisse 3. Quartal 2012Klöckner & Co - Ergebnisse 3. Quartal 2012
Klöckner & Co - Ergebnisse 3. Quartal 2012
 
Desventajas de las bases de datos
Desventajas de las bases de datosDesventajas de las bases de datos
Desventajas de las bases de datos
 
ISARCAMP: Telefonica / Thorsten Habermann + Thomas Hirschmann - teilen um tei...
ISARCAMP: Telefonica / Thorsten Habermann + Thomas Hirschmann - teilen um tei...ISARCAMP: Telefonica / Thorsten Habermann + Thomas Hirschmann - teilen um tei...
ISARCAMP: Telefonica / Thorsten Habermann + Thomas Hirschmann - teilen um tei...
 
Fundación México Juega
Fundación México JuegaFundación México Juega
Fundación México Juega
 
oncampus E-Learning Plattformen und der Leitmedienwechsel
oncampus E-Learning Plattformen und der Leitmedienwechseloncampus E-Learning Plattformen und der Leitmedienwechsel
oncampus E-Learning Plattformen und der Leitmedienwechsel
 
Trabajo final 1_alv[1] aporte 3 de diapositivas sonido
Trabajo final 1_alv[1] aporte 3 de diapositivas sonidoTrabajo final 1_alv[1] aporte 3 de diapositivas sonido
Trabajo final 1_alv[1] aporte 3 de diapositivas sonido
 
Carta Imprimible sushimore diciembre_2011
Carta Imprimible sushimore diciembre_2011Carta Imprimible sushimore diciembre_2011
Carta Imprimible sushimore diciembre_2011
 
OEDI
OEDIOEDI
OEDI
 
Spruchverfahren aktuell (SpruchZ) Nr. 1 / 2012
Spruchverfahren aktuell (SpruchZ) Nr. 1 / 2012Spruchverfahren aktuell (SpruchZ) Nr. 1 / 2012
Spruchverfahren aktuell (SpruchZ) Nr. 1 / 2012
 
DSS. Nov 20 2013. Adrián Alasino
DSS. Nov 20 2013. Adrián AlasinoDSS. Nov 20 2013. Adrián Alasino
DSS. Nov 20 2013. Adrián Alasino
 

Ähnlich wie Vergiss Java konzentrier Dich auf Script @ OOP2013

JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
Oliver Zeigermann
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
Ulrich Schmidt
 
Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012
Daniel Havlik
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
Virttoo org
 
Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen Projekten
Phillip Oertel
 

Ähnlich wie Vergiss Java konzentrier Dich auf Script @ OOP2013 (20)

Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)Rapid Prototyping mit jQuery (German)
Rapid Prototyping mit jQuery (German)
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Workshop Vue js
Workshop Vue jsWorkshop Vue js
Workshop Vue js
 
Design OOA OOD
Design OOA OODDesign OOA OOD
Design OOA OOD
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 
Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
Enterprise JS
Enterprise JS Enterprise JS
Enterprise JS
 
Ruby und Rails für .NET Entwickler
Ruby und Rails für .NET EntwicklerRuby und Rails für .NET Entwickler
Ruby und Rails für .NET Entwickler
 
HTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenHTML5-Legacy-Anwendungen
HTML5-Legacy-Anwendungen
 
Java script security for java developers
Java script security for java developersJava script security for java developers
Java script security for java developers
 
Einstieg in das Vueniverse
Einstieg in das VueniverseEinstieg in das Vueniverse
Einstieg in das Vueniverse
 
Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScriptEvaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
 
Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen Projekten
 
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIsNever Code Alone: Von Symfony Forms zu einer SPA auf APIs
Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
 
Was ist eigentlich SharePoint
Was ist eigentlich SharePointWas ist eigentlich SharePoint
Was ist eigentlich SharePoint
 
Effiziente datenpersistierung mit JPA 2.1 und Hibernate
Effiziente datenpersistierung mit JPA 2.1 und HibernateEffiziente datenpersistierung mit JPA 2.1 und Hibernate
Effiziente datenpersistierung mit JPA 2.1 und Hibernate
 
Ruby on Rails SS09 06
Ruby on Rails SS09 06Ruby on Rails SS09 06
Ruby on Rails SS09 06
 

Mehr von Maxim Zaks

Swift the implicit parts
Swift the implicit partsSwift the implicit parts
Swift the implicit parts
Maxim Zaks
 
96% macoun 2013
96% macoun 201396% macoun 2013
96% macoun 2013
Maxim Zaks
 
Diagnose of Agile @ Wooga 04.2013
Diagnose of Agile @ Wooga 04.2013Diagnose of Agile @ Wooga 04.2013
Diagnose of Agile @ Wooga 04.2013
Maxim Zaks
 
Start playing @ mobile.cologne 2013
Start playing @ mobile.cologne 2013Start playing @ mobile.cologne 2013
Start playing @ mobile.cologne 2013
Maxim Zaks
 
Under Cocos2D Tree @mdvecon 2013
Under Cocos2D Tree @mdvecon 2013Under Cocos2D Tree @mdvecon 2013
Under Cocos2D Tree @mdvecon 2013
Maxim Zaks
 

Mehr von Maxim Zaks (20)

Entity Component System - a different approach to game and app development
Entity Component System - a different approach to game and app developmentEntity Component System - a different approach to game and app development
Entity Component System - a different approach to game and app development
 
Nitty Gritty of Data Serialisation
Nitty Gritty of Data SerialisationNitty Gritty of Data Serialisation
Nitty Gritty of Data Serialisation
 
Wind of change
Wind of changeWind of change
Wind of change
 
Data model mal anders
Data model mal andersData model mal anders
Data model mal anders
 
Talk Binary to Me
Talk Binary to MeTalk Binary to Me
Talk Binary to Me
 
Entity Component System - for App developers
Entity Component System - for App developersEntity Component System - for App developers
Entity Component System - for App developers
 
Beyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffersBeyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffers
 
Beyond JSON @ Mobile.Warsaw
Beyond JSON @ Mobile.WarsawBeyond JSON @ Mobile.Warsaw
Beyond JSON @ Mobile.Warsaw
 
Beyond JSON @ dot swift 2016
Beyond JSON @ dot swift 2016Beyond JSON @ dot swift 2016
Beyond JSON @ dot swift 2016
 
Beyond JSON with FlatBuffers
Beyond JSON with FlatBuffersBeyond JSON with FlatBuffers
Beyond JSON with FlatBuffers
 
Basics of Computer Science
Basics of Computer ScienceBasics of Computer Science
Basics of Computer Science
 
Entity system architecture with Unity @Unite Europe 2015
Entity system architecture with Unity @Unite Europe 2015 Entity system architecture with Unity @Unite Europe 2015
Entity system architecture with Unity @Unite Europe 2015
 
UIKonf App & Data Driven Design @swift.berlin
UIKonf App & Data Driven Design @swift.berlinUIKonf App & Data Driven Design @swift.berlin
UIKonf App & Data Driven Design @swift.berlin
 
Swift the implicit parts
Swift the implicit partsSwift the implicit parts
Swift the implicit parts
 
Currying in Swift
Currying in SwiftCurrying in Swift
Currying in Swift
 
Promise of an API
Promise of an APIPromise of an API
Promise of an API
 
96% macoun 2013
96% macoun 201396% macoun 2013
96% macoun 2013
 
Diagnose of Agile @ Wooga 04.2013
Diagnose of Agile @ Wooga 04.2013Diagnose of Agile @ Wooga 04.2013
Diagnose of Agile @ Wooga 04.2013
 
Start playing @ mobile.cologne 2013
Start playing @ mobile.cologne 2013Start playing @ mobile.cologne 2013
Start playing @ mobile.cologne 2013
 
Under Cocos2D Tree @mdvecon 2013
Under Cocos2D Tree @mdvecon 2013Under Cocos2D Tree @mdvecon 2013
Under Cocos2D Tree @mdvecon 2013
 

Vergiss Java konzentrier Dich auf Script @ OOP2013