In most of this chapter, we reviewed the use of standard Knockout. Hopefully, I didn't lose you in the weeds back there. The important thing is that before we move on to extending Knockout with custom functionality or building larger applications, you must feel comfortable with the basic use of observables and data binding. This includes:
Defining viewmodels: This includes creating observables, binding functions, and handling serialization
Writing bindings: This includes using properties, expressions, inline functions, and when to use parentheses
Extenders: This includes creating extenders and extending observables
Templates: This tells us how the flow of control works, what a binding context is, inline versus named templates, and containerless control flow
In the next chapter, we will be adding new functionalities to Knockout by creating our own binding handlers.