Wow ... где даже начать с этого.
Все, что вы указали, представляет собой совершенно отдельные технологии, используемые для создания приложений.
Node.js - это сервер, такой как Apache, который обслуживает ваш код. Узел как npm, который является менеджером пакетов.
Angular - это ваш интерфейс, html, а что нет. Это одностраничная платформа приложений. Он не требует запуска узла, но упрощает сбор приложений. Angular использует javascript для изменения содержимого страницы, так что сайт загружается только один раз и обновляется при смене страниц.
Express - это ваш внутренний код, он требует узла. Интерфейс разговаривает с Express через вызовы Rest, затем выражает переговоры с базой данных и отправляет данные обратно в интерфейс.
Firebase - это более или менее база данных, но с некоторыми действительно крутыми функциями реального времени.
Bower - это менеджер пакетов, который обычно используется для обработки любых пакетов, таких как Twitter Bootstrap, которые вы хотите, создавая свой дистрибутив. Короткий ответ заключается в том, что он действительно не отличается от npm.
grunt - это бегун задачи, который работает на узле. он используется для создания и сервера вашего приложения. Gulp становится все более населенным, чем хрюканье, но ворчание может делать такие вещи, как тест на единицу измерения, минимизировать ваш код, создавать дистрибутивы и другие интересные вещи.
CRUD - Создать, прочитать, обновить, удалить. Они просто являются функциями вашего кода, как для страницы просмотра, которую вы можете редактировать.
Jade - более быстрый, но глупый способ написать html, который просто затрудняет чтение и удаление всех скобок и т. Д. Ment для шаблонов
Реальность современного развития заключается в том, что он исключительно фрагментирован. Есть много инструментов, предназначенных для достижения многих целей, и часто они перекрываются, когда они используются вместе. Все зависит от того, чего пытается добиться разработчик, и от своих предпочтений. –
Например, почему Джейд? Потому что разработчику необходимо было создать шаблоны, и это цель Джейд. Вероятно, они выбрали Jade именно из-за его общей популярности и их предпочтения к синтаксису. Он мог бы так же легко обращаться с ручками или с любым из [дюжины других] (https://garann.github.io/template-chooser/). –