Using Knockout To Build Dynamic, Testable Web UIs


Knockout-biblioteket ger stöd för databindning i JavaScript och HTML-miljön. Detta i sin tur gör det möjligt för webutvecklare att använda MVVM (Model, View, ViewModel). Mycket av Knockouts popularitet är tack vare det sätt som det förenklar att skriva dynamiska GUI:n. Det har också anammats av Microsoft, och ingår nu i ASP.NET MVC. Användandet av MVVM-mönstret erbjuder också en annan stor fördel: möjligheten att enkelt skriva bra enhetstester för interaktionslogik.

Kursen lär dig hur man använder Knockout effektivt - men det slutar inte där. Den lär dig också vad en ViewModel är, hur den bör se ut, och hur man kan strukturera den. Och, kanske viktigast av allt, kommer du lära dig att skriva tester för view models.

Tillsammans med förklaringar av mönster och tekniker som ingår, och många kodexempel, har kursen naturligtvis också en rad praktiska laborationer, som ger möjlighet för dig att sätta dig in i Knockout och själv försöka skriva tester för ViewModels.

Dag 1

Preliminaries

  • The architecture of the web
  • The rise of the Single Page Application
  • The challenge of user experience
  • The need for testability
  • The role of design patterns, and how they help

The MVVM Presentation Pattern

  • So what is a model, anyway?
  • RESTful models
  • Views
  • View Models
  • Data binding
  • The observer pattern

Introducing Knockout

  • What is Knockout?
  • Declarative data binding in HTML
  • Creating simple view models with observables
  • Binding the view model to the view
  • Exercise: your first view model

Basic View Model Testing

  • What is unit testing?
  • Why write automated tests?
  • Introduction to QUnit
  • Writing basic view model unit tests
  • Exercise: writing some basic view model tests

Computed Observables

  • What is a computed observable?
  • How dependency tracking works
  • Writing tests
  • Writable computed observables
  • Exercise: using a testing computed observables

Event Binding and Server Interaction

  • Client side view model, server side model
  • Event binding
  • How to factor the server interaction for testability
  • Implementing the call to the server
  • Testing the interaction without really calling the server
  • Exercise: event binding and server interaction

Dag 2

Observable Arrays

  • What is an observable array?
  • The foreach binding
  • Populating with data from the server side - in a testable way
  • Exercise: observable arrays and the foreach binding

Filling In Some Gaps: More Bindings and the Binding Context

  • The if and ifnot bindings
  • The with binding
  • The css, style and attr bindings
  • The hasFocus binding
  • The uniqueName binding, and when you may need it
  • The binding context, $root, $data, $parent, $index and $element
  • Exercise: bindings and binding contexts

Templates

  • The re-use problem templates tackle
  • Basic template usage
  • Rendering tree-like data using templates
  • Dynamically selecting templates
  • Integrating other template engines
  • Exercise: templates

Custom Bindings

  • What are custom bindings?
  • Using a plug-in providing a custom binding
  • Writing your own custom binding
  • Exercise: custom bindings

Also Good To Know

  • Augmenting observables with extenders
  • The throttle extender
  • The mapping plug-in
  • Performance gotchas
  • Where to find stuff: plug-ins, examples, documentation

Kurskod: T176
Kurslängd: 2 dagar
Pris: 19 500 SEK

Dela



BOKA NU

Kursschema

Kontakta oss för schema

Målgrupp

Kursen riktar sig till webbutvecklare som vill lära sig hur man skyddar sinawebblösningar.

Förkunskaper

Grundläggande kunskaper i HTML samt viss tidigare erfarenhet av JavaScript programmering. Det räcker om du är förtrogen med syntax och bekväm med funktioner. Om inte, överväg kursen *Modern webbutveckling med JavaScript*.

Liknande kurser

Lärare

Jonathan Worthington Tacklar komplexa problem, levererar lösningar. Konsult, utbildare, talare

Kontakta oss

Kontakta oss gärna för mer information:
Tel: 040-61 70 720
info@edument.se
Alla priser ex moms