jQuery è una libreria (lato client)
jQuery è una libreria JavaScript veloce, piccola, leggera, "scrivi meno, fai di più" e ricca di funzionalità.
Rende molto più semplici cose come l'attraversamento e la manipolazione di documenti HTML, la gestione degli eventi, l'animazione e Ajax con un'API di facile utilizzo che funziona su una moltitudine di browser.
AngularJS è un framework MVC (lato client)
AngularJS è un framework MVC JavaScript lato client per sviluppare un'applicazione web dinamica.
Ti consente di utilizzare HTML come linguaggio del modello e di estendere la sintassi dell'HTML per esprimere i componenti della tua applicazione in modo chiaro e conciso. Il data binding e l'inserimento delle dipendenze di AngularJS eliminano gran parte del codice che altrimenti dovreste scrivere. E tutto avviene all'interno del browser, rendendolo un partner ideale con qualsiasi tecnologia server. AngularJS è stato originariamente avviato come progetto in Google, ma ora è un framework open source.
Node.js è una piattaforma e un ambiente di runtime (lato server)
Node.js è un ambiente di runtime multipiattaforma open source per lo sviluppo di applicazioni lato server e di rete basate sul motore JavaScript di Google Chrome (motore V8). Le applicazioni Node.js sono scritte in JavaScript e possono essere eseguite nel runtime Node.js su OS X, Microsoft Windows e Linux.
Node.js fornisce anche una ricca libreria di vari moduli JavaScript che semplifica lo sviluppo di applicazioni web utilizzando Node.js in larga misura. Node.js utilizza un modello I / O basato su eventi e non bloccante che lo rende leggero ed efficiente, perfetto per applicazioni in tempo reale ad alta intensità di dati che vengono eseguite su dispositivi distribuiti.
Libreria vs. Framework
La differenza fondamentale tra una libreria e un framework è "Inversion of Control". Quando chiami un metodo da una libreria, hai il controllo. Ma con un framework, il controllo è invertito: il framework ti chiama.

Biblioteca
Una raccolta di funzioni utili durante la scrittura di applicazioni web. Il tuo codice è in carica e chiama nella libreria quando lo ritiene opportuno. Ad esempio, jQuery.
Struttura
Una particolare implementazione di un'applicazione web, in cui il codice inserisce i dettagli. Il framework è responsabile e chiama il tuo codice quando ha bisogno di qualcosa di specifico dell'applicazione. Ad esempio, AngularJS, Durandal , Ember.js , ecc.