Use Angular, they said. No, do Knockout, others proclaimed. Pssh, React is the way to go, a third group shouts. Ember.js is the one true way, or so says their adherents.
This is a classic problem: there's too many frameworks. The arguments put forth in the Paradox of Choice state that having so many choices is actually harmful to consumers; the more choices that exist, the more likely it is that you chose the "wrong" one. Since nobody wants to spend time learning the wrong thing, the amount of risk you carry when picking from many choices is rather large, and so many people simply won't decide at all for fear of being wrong.
Wait, Pick, Learn, Ignore
- Wait: Give it a couple years. Most likely, any frameworks that still exist a few years after their debut will be worthwhile in that they will be able to solve a wide variety of problems.
- Pick: Just pick one, even if it's a random selection.
- Learn: Implement and understand that chosen framework thoroughly. I cannot stress this enough. If you're going to spend all that time and effort just selecting a framework that you will study, you'd better put effort into actually learning it. Understand its strengths and weaknesses, the kinds of problems it can solve and the kinds of problems it's not very good at solving, and when you are done, at the very least you will have another tool in your coding toolbox.
- Ignore: all other frameworks until you're done with the first one. Don't confuse yourself by trying to learn everything at once. Stick with the framework you chose, learn it thoroughly, then move on to others. Having learned the first one inside and out, you'll most likely find that learning subsequent frameworks will take less time, since many of the ideas are transportable from one framework to another.
At the very least, this method will let you ignore the vocal adherents, and you may even find that doing so quells your mind and let's focus on you ultimate goal: making yourself a better developer.
(By the way, at least for now, I'm going with Angular, as it seems to have the biggest support and widest usage. Only time will tell if I made the right choice.)