AngularJS was recently called the "Super-heroic JavaScript MVW Framework" by The Code Project. It's an open source client side framework maintained by Google that greatly simplifies frontend development, making it easy and fun to write complex web apps.The online documentation and existing books on the subject lack simple explanations of some of the more advanced concepts, and how they work together. As a result, many developers get used to the basic concepts of AngularJS fairly quickly, but struggle when it comes to building more complex (real world) applications."Beginning AngularJS" covers everything from basic concepts, such as directives and data binding, to more advanced concepts, like providers, injectors, and scope, giving the reader a thorough understanding of AngularJS. Chapter 1: Introducing AngularJS - introduce the reader to AngularJS and explain what it is without showing any code.Chapter 2: Building a Simple AngularJS Application - jump into building a simple AngularJS application from scratch, explaining the most basic building blocks as we go along.Chapter 3: AngularJS Architecture and How it Fits Together - It's time to take a closer look at the most common parts of AngularJS, and how they all fit together.Chapter 4: Building an Application with Templates, Location and Routing - everything needed to build an application with multiple views and controllers, Chapter 5: Getting Advanced with Data Binding - a closer look at more advanced ways of binding data to templates in AngularJS. We'll cover everything from the built-in convenience methods to manually changing values and notifying AngularJS. We'll also talk a bit about how to avoid common performance pitfalls.Chapter 6: How to Extend HTML with Directives - a closer look at directives, one of AngularJS's key features, and learn how to extend HTML by encapsulating code in reusable components.Chapter 7: The What, When, and Why of Services, Factories and Providers - difference between services, factories and providers, and when to use what.Chapter 8: Using Low and High Level Server Communication - The full potential of a client side web application isn't released until you connect it to a server. This chapter deep dives into the two communication services included in AngularJS, the low level $http service used for direct requests, and the high level $resource service used to wrap a REST API.Chapter 9: Testing and Debugging AngularJS Applications - AngularJS is built to be easy and fast to test, in this chapter we'll discuss the techniques and tools available. We'll also talk a bit about what to do when things don't work as expected.Chapter 10: Moving On - wrap things up by giving the reader pointers to more advanced topics, and further reading that will be useful when working with AngularJS.This book is a comprehensive guide to AngularJS, not only covering each feature separately, but also how to combine them into working applications. The reader should have basic programming knowledge and be familiar with JavaScript and how the web works (HTML, CSS, HTTP etc.)