**To w takim razie kiedy używać Angulara a kiedy jQuery? **
Jeśli nie widzisz potrzeby używania Angulara, to może go nie potrzebujesz. :) jQuery przydaje się w małych projektach, najlepiej takich, w których nie kosztuje Cię później wieloletnie utrzymanie. Idealnie nadaje się do małych stron, gdzie kilka efektów zadowoli klienta. Problem pojawia się jak kod się rozrasta i robi się syf. Pamiętaj, że jQuery to tylko "mała" biblioteka. Dużym kosztem jest zaimplementowanie odpowiednich wzorców i zorganizowanie kodu. Czasami jest to po prostu nieopłacalne. W dodatku niektóre mechanizmy pisze się szybciej w Angularze, szczególnie te dotyczące formularzy czy transformacji danych z RESTa, bo w tym sobie dobrze radzi.
Obecnie pracuję w projekcie Angularowym i mam też utrzymaniowy w jQuery. Projekt w jQuery jest malutki, rzędu 5-6k linii kodu JS, natomiast ten drugi znacznie większy i nie wyobrażam sobie pewnych rzeczy pisać w jQuery, bo po prostu trudno to ogarnąć. ;) Ponadto, esencja Angulara, czyli dyrektywy, potrafią drastycznie zwiększyć czytelność i reużywalność kodu. W jQuery często kończyliśmy z dużymi plikami HTML (tzn. ponad 100 linijek) z masą tagów, co było kompletnie nieczytelne po paru miesiącach (a to jest bardzo istotne, jeśli wprowadza się nowych programistów - po cholerę mają tracić nawet i pół godziny na wgryzanie się w kod i męczenie później z CSSem, który pewnie jest zorganizowany jeszcze gorzej niż HTML?). A plików takich może być kilkaset... W Angularze dzięki dyrektywom możesz odpowiednio podzielić ten plik i stworzyć pewną hierarchię, co zaowocuje czytelnością. Ba, bywa że jak napisze się raz x tagów dla dajmy na to accordiona, to developerzy kopiują kod do nowego widoku, jeśli potrzebują użyć ponownie. Stosowanie dyrektyw w Angularze pozwala przynajmniej zminimalizować pokusę takiego czegoś, bo wystarczy zastosować własny tag. :) I sprzyja to też modularyzacji, a warto pamiętać, że czasy, w których front-end to był jeden plik JS i kilkadziesiąt funkcji operujących na DOMie dawno minęły.
jQuery znam dobrze, natomiast bardzo spodobał mi się Angular. Problem tkwi w tym, że mam już część kodu w jQuery (pisaną przez kumpla) i przepisywanie go do Angulara może mi trochę zająć. A jak wygląda trudność napisania takiego RWD w Angularze?
Jeśli kodu nie jest dużo, to może warto przepisać. Pamiętaj, że jQuery i Angular razem jest możliwe, po prostu to koszt, jeśli aplikacja miałaby działać na produkcji, a nie jest tylko jakimś poligonem doświadczalnym. ;) Jeśli nie przeszkadzają Ci dodatkowe kilobajty i będziesz potrafił dobrze odseparować funkcjonalności w obu narzędziach, to możesz stosować oba. Zagrożeniem jest, że jeśli nie będziesz wiedział Ty czy kumpel jak zrobić coś w Angularze, to możesz zechcieć dopisać coś "na szybko" w jQuery i może zrobić się bałagan. Ale to już kwestia samodyscypliny. RWD nie ma raczej nic wspólnego z Angularem, to jest CSS głównie jakby nie patrzeć, więc nie wiem w czym problem? Może chodziło Ci o wsparcie dla urządzeń mobilnych ogółem? Wtedy tak, jest taka opcja (zerknij na ngTouch - da Ci to jakiś obraz początkowy).
Podsumowując, Angulara używałbym w większych projektach, które chciałbyś później łatwiej utrzymywać. Są aplikacje, gdzie front-end jest ogromny, a back-end sprowadza się głównie do usług REST - tam widziałbym Angulara. Jeśli masz projekty z wieloma formularzami, gdzie możesz skorzystać z bindingów, filtrów, dużo komponentów się powtarza - warto zastosować Angulara. Jeśli chcesz mieć aplikację typu SPA, wtedy na pewno trudniej będzie zastosować jQuery, bo po prostu w Angularze masz już jakiś szkielet komunikacji i architektury, a napisanie czegoś podobnego i zarazem intuicyjnego jest trudne i czasochłonne. Jeśli chciałbyś skupić się na dostarczaniu wrażeń użytkownikowi, dopieszczaniu interfejsu, zamiast męczeniu się z trywialnymi problemami, które piętrzą się w jQuery (nie dlatego, że jest złe samo w sobie, to po prostu nie jest framework), to zastosuj Angulara. Jeśli zależy Ci na łatwym w testowaniu kodzie (czy jednostkowo, czy E2E), to wybór jest prosty. Mi dużo Angular dał, ale gdybym miał wcześniej styczność z innym podobnym rozwiązaniem (np. ember), to nie wiem co bym wybrał. Natomiast miałem styczność z Backbone i Knockout, ale nie spełniły naszych potrzeb w firmie.
jQuery powoli odchodzi w zapomnienie, bo już nie ma takich problemów z różnicami między przeglądarkami, jak kiedyś, a to głównie z tego powodu jest używane. Bo reszta to tak naprawdę JS, więc nie widzę potrzeby stosowania, jeśli nie musisz wspierać starych wersji IE.