My latest course Building HTML5 and JavaScript Apps with MVVM and Knockout is now available at Pluralsight! Learn how to build robust and maintainable Web applications with JavaScript patterns, MVVM, and KnockoutJS


Free Preview:


Course Description:

Do you write a lot of HTML, JavaScript, and jQuery to push and pull data? Does your JavaScript seem to lack the structure and patterns of your non script code? In this course you will learn popular techniques to use data binding to bind your data to your target controls in HTML writing less code, but gaining more power. See how to consume json data, use json objects in JavaScript, and use declarative binding all by using the KnockoutJS JavaScript library. Learn how the XAML data binding paradigm has been brought to the web world with observable objects, change notifications, subscriptions, and 2 way bindings. Explore modern JavaScript patterns and practices that follow the SOLID principles, reduce errors in your code, and make code easier to maintain. After taking this course you will have a solid foundation for building robust web apps using common JavaScript patterns, MVVM, and KnockoutJS.

What are the modules?

ps21: Getting Started with Knockout and MVVM in JavaScript

This first module sets the foundations for the course by showing you everything you need to know to get started with Knockout as well as some helpful resources.

ps22: Bindings and Observables

This module covers  manual subscriptions to bindings and the 3 fundamental types of binding members that provide change notification: observables, observable arrays, and computed observables.

ps2 3: Built In Bindings

This module covers many of the built-in bindings that Knockout supports for text, input, appearance, and event handling.

ps24: JavaScript Patterns: Spaghetti to Ravioli

This module explores popular JavaScript patterns and demonstrates how they can be applied to developing with Knockout to enhance readability, extensibility and maintainability.

ps25: Templates, Control of Flow, and Containerless Bindings

This module explores the control of flow bindings (if, ifnot, with, foreach and template), demonstrating the value that each of these brings.

ps26: Custom Binding Handlers and Persisting Data

This module explores the custom binding handlers, unobtrusive JavaScript, persisting data, change tracking, and integrating with jQuery UI.


The course includes 40+ demos that you can run from a single project!


Parting Thoughts:

I extend a sincere thank you to some great folks who helped influence this course through their contributions to open source, the plug in community, and some by helping me vet the content and ideas. They are, in no particular order: