I still haven't made a choice which framework I should focus on and writing enough code in all of them to familiarize myself seems daunting.<p>I used Django for a long time for my personal projects until I realized what I like about Flask. Their design philosophies differ greatly and so do the JavaScript ones.<p>I'm aware that JavaScript in the browser adds another level of complexity, but is there a way to compare those frameworks to the ones found in other languages?<p>Which are the ones that allow choices, modularity? Which ones are opinionated and which even insist on things beeing done certain ways, like bringing their own template engines or module loaders?<p>I've been trough a lot of blogs, reading opinions and direct comparisons, but I haven't seen anyone approach it by saying "If you love Django you'll love X".<p>Is it just not possible?
If you love Django, you'll love spine.js. It's ORM is the only one which has a decent Active Record implementation.<p>Angular takes the gold when it comes to being opinionated. If you agree with the philosophy it's a breeze, if not you'll be fighting it every waking hour.<p>Backbone is the least opinionated and to be honest I don't see the point of a framework with so few opinions. It just encourages you shoot yourself in the foot.<p>Horses for courses, I suppose. What's the purpose of your personal projects? If you are doing them in hope that it will be a business one day, go with Angular as it does a lot of magic and things move very quickly after you succumb to its wisdom. If you are doing them to beef up your portfolio, go with Backbone as it seems to be most popular among businesses. If your purpose is to learn, write your own framework, at least initially. You'll get an appreciation of what weight they are trying to lift. Choosing a framework after that will be a much informed decision.