Ответ 1
Jade создает html, используемый в браузере на стороне сервера. Браузер выполняет запрос на веб-сервер, веб-сервер выполняет Jade, который будет генерировать html, который будет отправлен в браузер. Это поколение контента на стороне сервера было очень распространено за последние 20 лет, но при создании богатого интернет-приложения у него есть немало недостатков. В основном это связано с отслеживанием производительности и состояния клиента.
AngularJS - это MVC/MVVM на стороне клиента, например, для создания так называемых Single Page Applications (SPA), которая позволяет вам иметь полный поток пользовательского интерфейса, все создание контента и отслеживание состояния должны выполняться на стороне клиента. Он даже позволяет создавать автономные приложения. С точки зрения разработчика это гораздо больше похоже на создание настольного приложения, в котором клиент знает состояние пользовательского интерфейса. С точки зрения пользователя веб-сайт будет реагировать гораздо более гладко и сглаживать, потому что пользовательский интерфейс создается локально.
Примечание. SPA не означает, что вы можете иметь только одну страницу на своем веб-сайте. Это технический термин, когда браузер загружает одну страницу (~/index.html), которая содержит полное или частичное веб-приложение. Пользователь технически никогда не покидает эту страницу, но содержимое (страницы) динамически меняет местами и выходит из этой страницы-заполнителя.
К наиболее распространенному способу предоставления данных в SPA предоставляется RESTful веб-службы. AngularJS поставляется с встроенной поддержкой для REST.
Некоторые разработчики объединяют технологии генерации контента на стороне сервера с помощью AngularJS, но на самом деле нет реальной необходимости в этом.