The first point Alex starts with is “Ember.js is a framework, Angular.js is a toolset.” It’s a true statement. However, when we talk about “frameworks” I posit that we actually mean this:
frame·work [freym-wurk] noun :
1. The means by which I’m going to build this fucking app.
2. A place to start from in building an application, because my app is not a special unicorn, and I’d rather to 80/20 (80% of stuff I’m doing has been done on the web before, 20% is my special sauce*)
So while Alex is 100% correct, framework also means different things to different people. To me (and I think a lot of people), when we say “I’m choosing a framework” we mean the above, not the technical distinction between a framework, a library, a polyfill … when you get down to it, it gets hairy. “Framework” has become our short-hand for the kit we need, whatever trappings it comes in.
* Sometimes that’s more like 90/10 or 99/1. Building an eCommerce site? Welcome to the 1%.