Writing Robust AngularJS
Web Applications
Web applications' performance is one of the non-functional requirements that
we need to juggle with other tasks and functional exigencies. Obviously we can't
neglect performance, even if our application looks stunning and has all the required
functionality, people might refuse to use it if it doesn't run smoothly.
There are several factors that affect overall performance of a finished web
application: utilization of network, size of the DOM tree, number and complexity
of CSS rules, JavaScript logic and algorithms, data structures used and many, many
others. Not to mention that it all depends on a browser used and users' perception!
Some of the performance-related concerns are universal and need to be addressed
regardless of a technology used. Some others are AngularJS-specific and this chapter
focuses on AngularJS particularities.
To understand AngularJS performance characteristics, we need to better understand
its internals. This is why this chapter starts with a deep dive into AngularJS core
machinery. What follows is an overview of performance-sensitive patterns alongside
discussion of available options and trade-offs.
After reading this chapter you will:
- Learn how AngularJS rendering engine works under the hood.
Getting familiar with AngularJS internals is essential to understand
its performance characteristics. - Understand theoretical performance-limits of AngularJS applications and
be able to quickly decide if your particular project fits into set boundaries.