TLDR;
Angular поможет вам справиться со сложностью, присущей богатым пользовательским интерфейсам. По мере увеличения сложности пользовательского интерфейса традиционная модель генерации страниц на сервере становится все более сложной. Angular позволяет вам разложить ваш пользовательский интерфейс на управляемые блоки и отделить пользовательский интерфейс от реализации. Это значительно упрощает генерацию страниц на стороне сервера, но Angular действительно вступает в свои права, когда вы переходите на приложения, основанные исключительно на javascript. Хорошим примером такого приложения является Trello .
Длинная история
Angular на самом деле не нацелен на сайты, которые вы можете с комфортом внедрить, генерируя все на сервере и отправляя его через. Кроме того, хотя это совершенно хороший подход, который работает для многих сайтов и приложений в Интернете, становится все более и более сложным (и, следовательно, трудным) поддерживать этот подход в рабочем состоянии, когда вы пытаетесь повысить уровень интерактивности на вашем сайте.
В конечном счете, вы решаете эту проблему, толкая свой пользовательский интерфейс все больше и больше в сторону уравнения Javascript. Angular позволяет разбить ваш пользовательский интерфейс на компоненты, обеспечивая четкое разделение между внешним видом и принципом работы. Затем вы можете создавать довольно простые страницы на сервере, а интерфейс JS используется для создания богатого пользовательского интерфейса, который выполняет отдельные обратные вызовы на сервер для получения необходимых данных.
Тем не менее, наступает момент, когда все, что вам нужно, - это сервер заглушки, который загружает полностью основанное на javascript приложение. Вероятно, наиболее известным примером такого варианта использования, где Angular действительно сияет, является Trello (он использует Backbone, а не Angular, но это тот же вариант использования). Есть сайт http://builtwith.angularjs.org/, на котором есть несколько примеров сайтов, использующих Angular.
Итак, короткий ответ? Angular облегчает создание многофункциональных, высокоинтерактивных пользовательских интерфейсов, позволяя вам разбивать ваш пользовательский интерфейс на компоненты и в конечном итоге полностью перейти на JavaScript.