vergiss java konzentrier dich auf script @ oop2013
TRANSCRIPT
Vergiss Java Konzentrier Dich auf
ScriptOOP 2013Maxim Zaks
Agenda
• JavaScript the good parts
• Embrace objects prototypes and closures
• Think about "this" and "new"
• There is no "super"
• Use Tools that are build specifically for JavaScript
• etc...
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
Wie sollte ich anfangen?
JavaScript ist mehr funktional als
Objekt Orientiert5 Typen Zahle, Strings, Arrays, Objekt und Funtionsobjekt.Dabei können Funktionsobjekte als Prototypen für andere Objekte dienen.
Erweiterung/Vererbung
Lösung für „this“
Funktionen für Listen
UI spezifisches Problem
Organisation / Module
Einstiegspunkt
Geladene Abhängigkeiten
models/todo
Konfiguriere Abhängigkeiten
MV...Frameworks
Backbone + Require.js
BackboneJS
• Model / Collection
• View
• History / Router
Model repräsentiert DatenStandardmäßig gebunden an REST Interface
Views repräsentieren/erzeugen DOM Elemente
History erlaubt „deep linking“ und Zurück Funktionalität von Browser
models/todo.js
Collection
JavaScript Magie
slice.call(arguments)convert arguments object to array
call vs. applyexplicite vs. array parameter
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?
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/