Summary
By now, you should have a good idea or two about how to structure a Knockout web application, specifically, a single page application. The Knockout components feature gives you a powerful tool that will help you create reusable, behavior-driven DOM elements, and writing custom loaders allows you to fully control how components are used. The RequireJS AMD patterns make application organization easy by splitting up JavaScript and HTML into independent modules. Because these modules use dependency injection, creating mocks for unit testing is also possible. Finally, you saw how SammyJS can create fast client-side JavaScript navigation with pages controlled by components.
In the next chapter, we will look at the Durandal framework, which will make the single page application development even easier.