Course info
Dec 1, 2011
1h 39m

As web applications become richer and more interactive, a better client-side experience is essential and expected by the user. KnockoutJS is a JavaScript MVVM framework that provides developers with a robust toolset including declarative bindings, dependency tracking, and advanced templating. In addition to all the powerful tools that are built-in, the extensibility of KnockoutJS is what allows you to take your applications to the next level. Whether you’re building a desktop browser application or a mobile application, KnockoutJS enables you to take full advantage of HTML5 and JavaScript while working in any mainstream browser.

About the author
About the author

Steve is a Program Manager with Microsoft on the Azure Global Engineering team. Prior to joining Microsoft, he was a 7-time Microsoft ASP.NET MVP.

More from the author
Yeoman Fundamentals
2h 32m
18 Dec 2015
More courses by Steve Michelotti
Section Introduction Transcripts
Section Introduction Transcripts

Introduction to Knockout
Hi. This is Steve Michelotti of Pluralsight. This course is going to cover Knockout JS, an innovative new JavaScript library that is guaranteed to bring a more enjoyable experience to your client-side development. This course has three goals. First, I'm going to cover all the primary features that are contained in the Knockout library. Secondly, I'm going to provide an organizational structure for your understanding of those concepts. It's one thing to know all the features that are in a framework, but it's really important to be able to mentally organize those concepts so you understand how each of the parts fit into the framework. And third, I'm going to try to show real-world examples, so of course, we'll show basic examples when I'm introducing new concepts, but it's important that you see real-world applications of those concepts as well and I'll focus on those towards the end of the course. This course is going to have four modules. The first module will provide an introduction to Knockout and will give you a flavor for what Knockout is. The second module will be on observables, which is the most core construct in the Knockout library. Third, we're going to cover bindings, which will include all the built-in bindings you have available and when you should use which ones. This will also include custom bindings, which is the most important extensibility point of Knockout. The last module will cover the data features and various utilities and this will bring things together.

Hi. This is Steve Michelotti of Pluralsight. In this module we're going to cover all the bindings that you have available in the Knockout library. You've seen this slide a few times throughout the course thus far and in this module we're going to cover the two items highlighted in green: The built-in bindings and the custom bindings. Now you can see that I have highlighted there that there are four types of built-in bindings. With the bindings you have in Knockout there are four types of built-in bindings. We have bindings for text and appearance, bindings for forms. As of Knockout 1. 3 we have what is called control flow bindings, and we also have traditional template bindings. I'm going to cover all of these bindings with demos. We also have custom bindings, which are an indispensible tool for any Knockout developer and is one of the best extensibility points that Knockout has.

Data features
Hi. This is Steve Michelotti of Pluralsight. In this final module we're going to cover the data features and utilities that come with Knockout and this is really going to bring everything together. Up to this point in the course we've covered the core functionality that comes with Knockout for working with data-binding scenarios including observables and bindings. In this module we're going to cover the points in green here at the bottom starting with utilities and utilities are a little known aspect of Knockout that a lot of people don't even realize are there, but you can make everyday use of these features to enhance your applications greatly. Also, we're going to then talk about data features, which are typically used in AJAX scenarios for working with data in a very rich way, but overall, this final module is really going to bring everything together.