Knockout Schulung
Schulungsziel
Nach diesem Seminar verfügen die Teilnehmer über die Informationen, eine clientseitige Single Page Application mit KnockoutJS, RequireJS und SammyJS zu erstellen, sowie einen Überblick über die Architektur einer mehrschichtigen clientseitigen Anwendung incl. der Anbindung einer Datenbank oder einer externen Datenquelle über eine REST API.
Zielgruppe
Dieses Seminar richtet sich an Applikationsentwickler die clientseitige Single Page Applicationen basierend auf HTML5, CSS3 und JavaScript Technologie unter Verwendung von Knockout entwickeln möchten. Für diesen Kurs sollten neben HTML5 und CSS3 Grundkenntnissen auch gute JavaScript Syntaxkenntnisse bekannt sein.
Entwicklungsumgebung
- Visual Studio 2015 oder Visual Studio Code
- Windows, Linux oder OS X
- Gulp oder Grunt
- KnockoutJS, RequireJS, SammyJS, Bootstrap
- Optional: breeze oder amplify
- HTML5 / CSS3 / JavaScript
Methodik
Das Seminar besteht aus einem theoretischen Vortrag und Präsentation mittels Folien gemischt mit Beispielen und Demonstrationen durch den Dozenten sowie einem interaktivem Übungsanteil in dem die Teilnehmer das erlernte Wissen in die Praxis umsetzen können. Das Seminar kann auf Wunsch nach vorheriger Absprache individuell auf den Bedarf der Teilnehmer angepaßt werden.
Altenativ zu der Entwicklung mit JavaScript kann dieses Seminar auch auf der Basis von TypeScript angeboten werden.
Beispielagenda
Vorbereitung
- Optional: Einführung in HTML5, CSS3
- Optional: Einführung in BootStrap
- Optional: Einführung in JavaScript
- Optional: Einführung in TypeScript
Einführung
- Herausforderungen bei der Entwicklung einer App mit Html5 und JavaScript
- Konzepte einer Single Page Application
- Werzeuge für die Erstellung einer HTML Anwendung
- Visual Studio Code mit Bower, NPM und Gulp
- Überblick über die benötigten JavaScript Bibliotheken und Frameworks
- Modularisierung mit RequireJS
- Navigation mit SammyJS
- Zugriff auf einem REST Datenservice via jQuery
- Alternativ: Zugriff auf einen REST Service mit Amplify
Knockout
- MVVM Pattern mit JavaScript
- erstellen eines ViewModels
- Observables, ObservableCollection und Computed-Properties
- Benannte und undbenannte Templates
- Verwenden von jQuery oder Undersore Templates
- Data Binding
- Darstellen von Listen mit foreach
- Kontrollfluss mit if, ifnot und with
Knockout Aufbauwissen
- Binding Context benutzen
- Containerless Binding
- Knockout.Validation
- Knockout.Lite
- Async & Sync Commands
- Activity indicator
- Change detection
- Knockout.Mapping
Knockout Expertenwissen
- Knokcout erweitern mit Hilfe der fn-Funktion
- Knockout Extender
- Validation Extender
- Format Extender
- Custom Bindings
- Knockout Debugging
Optional: Unit Testing
- Konzepte für modularen Unittest mit Require
- mochajs, testr.js, sinonjs und chaijs