There can't be a single answer to this but you may find this interesting:
Choosing a JavaScript framework