ROADMAP What is knockout? MVVM What does knockout bring to the table? Demonstration Why use knockout? Questions?
WHAT IS KNOCKOUT? Java. Script library Create Uis for editing JSON data Elegant way to implement MVVM pattern
MVVM (MODEL-VIEWMODEL) Model § Persisted data § Independent of UI § Objects and operations in business domain View § HTML document § Represents View Model state View Model § Not persisted data model or UI (think client-side model) § Holds unsaved data
WHAT DOES KNOCKOUT BRING Declarative bindings § Associate DOM elements with model data Automatic UI refresh § Model update UI update Dependency tracking § Relationships between model data
BINDINGS AND DEPENDENCY TRACKING Declare data “observable” Associate data with a DOM element Computed observables HTML Java. Script
LET’S SEE IT IN ACTION Hello World § http: //jsfiddle. net/rniemeyer/Lkq. TU/ A few more behaviors § http: //jsfiddle. net/rniemeyer/a. Dah. T/ Custom bindings § http: //jsfiddle. net/rniemeyer/8 k 8 V 5/
WHY KNOCKOUT? Pure Java. Script § Works anywhere Small § ~13 kb Works on any mainstream browser No major changes to existing architecture