The cycle probably goes thusly:
Large monolithic framework comes and shows everyone a new way of doing things (Angular/Django).
People think it is too large and monolithic, so make microframeworks (Flask/Whatever comes after Angular).
The next step will be a kind of happy medium.
I predict that the next winner will leverage web components and do the one thing that makes that paradigm better.
(That's why things like rivet and epoxy exist; because backbone doesn't do it right)
"Two way data-binding" is avoided. While it certainly makes for a nifty demo, and works for the most basic CRUD, it doesn't tend to be terribly useful in your real-world app. Sometimes you want to update on every keypress, sometimes on blur, sometimes when the panel is closed, and sometimes when the "save" button is clicked. In almost all cases, simply serializing the form to JSON is faster and easier. All that aside, if your heart is set, go for it.
Or is it simply ppl need to exercise their mental creativity?
JQuery and JS were certainly not dumped, it is just that people writing single page apps moved on and are now using tools that help them.
Well, you can't have Angular without JS so we'll focus on the point of jQuery here.
jQuery does a few things really well – so well that Angular itself uses jQuery (or jqLite by default). angular.element(selector) returns a jQuery object.
Angular also does a few things well. Code reusability and testability are much easier to achieve with Angular, in my opinion. Features like data-binding also help to reduce boilerplate code.
Well you certainly can use it without writing any JS:
However, you're going to compile it to JS when you're done.
As a learning exercise, I wrote a page using just jquery, rewrote it in backbone, and then rewrote it in angular. Backbone helped me separate concerns; Angular helped me do that while writing _way_ less code, since I didn't have to manage keeping the DOM and the JS model in sync.
I redid a relatively trivial CRUD interface from backbone to Angular. The amount of code that I didn't need in Angular was ridiculous. Most of the code in backbone was moving stuff from the DOM into JS. Like var x = $('#elem').val(); kind of things over and over just did not need to be there in Angular.
I think that these kinds of interfaces hit a really good sweet spot with Angular and other databinding frameworks.
jQuery has nothing to do with whether the app is single page or not.
Those frameworks make writing single page apps very easy.
I have suffered trough JEE which is/was really humungous, and Angular is really tiny in comparison.