jQuery - biblioteka ułatwiajaca pisanie w JS. Nie wprowadza żadnych nowych opcji, za to pisze się o niebo wygodniej niż w czystym przeglądarkowym JS (są krótsze nazwy, nie trzeba się martwić o kompatybilność z róznymi przegladarkami etc.).
Backbone - framework MV*, pozwala ustrukturyzować kod w modele/widoki. Bardzo dobrze się integruje z jQuery.
Jednak w Backbone większość rzeczy trzeba samemu robić.
Na przykład: trzeba samemu zrobić sobie data-binding, podczepiając się pod konkretne zdarzenie w modelu.
Zaletą jest elastyczność, wadą jest to, że się programuje trochę na piechotę.
AngularJS - framework który rozszerza HTML dodając do niego serie znaczników ("dyrektyw"), pozwalający na tworzenie własnych znaczników i komponentów na stronie dodawanych za pośrednictwem wymyślonych tagów HTML. Ułatwia to reużywalność kodu. Drugą stroną angulara jest kod JS, w którym umiescza się kontrolery, usługi, definicje dyrektyw etc.
Czy można łączyć np.: Angular z jquery?
angular używa wewnętrznie jQuery (albo jQlote) ale jeśli chcesz sam używać bezposrednio jQuery to po pierwsze nie ma takiej potrzeby zwykle (bo to c byś zrobił jQuery, zrobi za ciebie angular, albo dostarczy konkretną usługe("service"), np $http do AJAXa, po drugie trzeba być ostrożnym, żeby nie wywołać konfliktu
DOM Manipulation
Stop trying to use jQuery to modify the DOM in controllers. Really. That includes adding elements, removing elements, retrieving their contents, showing and hiding them. Use built-in directives, or write your own where necessary, to do your DOM manipulation. See below about duplicating functionality.
If you're struggling to break the habit, consider removing jQuery from your app. Really. Angular has the $http service and powerful directives that make it almost always unnecessary. Angular's bundled jQLite has a handful of the features most commonly used in writing Angular directives, especially binding to events.
z faq