Preface

AngularJS is a relatively new JavaScript MVC framework but it is the real game changer. It has a novel approach to templating and bi-directional data binding which makes the framework very powerful and easy to use. People constantly report a dramatic reduction in the number of lines of code needed in applications using AngularJS as compared to other approaches.

AngularJS is an outstanding piece of engineering. With its strong emphasis on testing and code quality it promotes good practices for the entire JavaScript ecosystem. Given the quality and novelty of the technology, it is not surprising to see that many people are attracted to the framework, creating a very vibrant and supportive community around AngularJS, which contributes to its growing popularity.

As AngularJS becomes more and more popular, people will start to use it in complex projects. But you will soon face problems that are not solved in the standard documentation or in the simple examples found on the Web. AngularJS, as any other technology, has its own set of idioms, patterns, and best practices that have been uncovered by the community, based on their collective experiences.

This is where this book comes in – it aims to show how to write non-trivial AngularJS applications in a canonical way. Instead of describing how the framework works, this book focuses on how to use AngularJS to write a complex web application. It provides real answers to real questions being asked by the AngularJS community.

In short, this is a book written for application developers, by application developers, and based on real developers questions. In this book you will learn:

  • How to build a complete, robust application using existing AngularJS services and directives.
  • How to extend AngularJS (directives, services, filters) when there is no out-of-the-box solution
  • How to set up a high quality AngularJS development project (code organization, build, testing, performance tuning)

What this book covers

Chapter 1, Angular Zen, serves as an introduction to AngularJS framework and the project. The first chapter outlines project's philosophy, its main concepts, and basic building blocks.

Chapter 2, Building and Testing, lays a foundation for a sample application used in this book. It introduces problem domain and covers topics such as testing and building best practices for the system.

Chapter 3, Communicating with a Back-end Server, teaches us how to fetch data from a remote back-end and feed those data effectively to the UI powered by AngularJS. This chapter has extensive coverage of the promise API.

Chapter 4, Displaying and Formatting Data, assumes that data to be displayed were already fetched from back-end and shows how to render those data in the UI. This chapter discusses the usage of AngularJS directives for UI rendering and filters for data formatting.

Chapter 5, Creating Advanced Forms, illustrates how to allow users to manipulate data through forms and various types of input fields. It covers various input types supported by AngularJS and contains deep dive into forms validation.

Chapter 6, Organizing Navigation, shows how to organize individual screens into an easy-to-navigate application. It starts by explaining role of URLs in single-page web applications and familiarizes a reader with key AngularJS services for managing URLs and navigation.

Chapter 7, Securing Your Application, goes into the details of securing single-page web applications written using AngularJS. It covers the concepts and techniques behind authenticating and authorizing users.

Chapter 8, Building Your Own Directives, serves as an introduction to one of the most exciting parts of the AngularJS: directives. It will guide the reader through a structure of sample directives as well as demonstrate testing approaches.

Chapter 9, Building Advanced Directives, is based on Chapter 8, Building Your Own Directives and covers more advanced topics. It is filled with a real-life directive examples clearly illustrating complex techniques.

Chapter 10, Building AngularJS Web Applications for an International Audience, deals with internationalization of AngularJS applications. Covered topics include approaches to translating templates as well as managing locale-dependent settings.

Chapter 11, Writing Robust AngularJS Web Applications focuses on non-functional, performance requirements for web applications. It peeks under the hood of AngularJS to familiarize readers with its performance characteristics. A good understanding of AngularJS internals will allow us to avoid common performance-related pitfalls.

Chapter 12, Packaging and Deploying AngularJS Web Applications will guide you through a process of preparing a finished application for production deployment. It illustrates how to optimize application load with a special focus on the landing page.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.10.137