It gives an overview of JS independent principles, that helps to create an application which is not coupled with frameworks. It shows what are the benefits and risks to follow these principles. It shows how to apply these principles to JS and what are the differences to other heavily OO languages. It tells why is it applicable to functional programming styles, and how it helps to write cleaner code. Shows a real life example, how to structure the code and create the directory structures. Shows in examples how it is helping Test Driven Development, and how it makes easy to write tests.