I recently started working on an Angular project that someone else started. I'm loving it, but am massively confused about Angular's relationship to Bootstrap. Especially because it seems like all the sites about how these relate to each other assume you already understand how they relate to each other.
Here's what I think I know:
I get the feeling that Twitter named their framework Bootstrap more because they thought it was clever for some reason, even though it has anything to do with a literal bootstrap, or the coding metaphor, "bootstrapping". If that is true, then screw those guys. But, again, correct me if I'm wrong.
Angularjs is a framework that helps you build a single page application (SPA) it provides all the necessary components to be able to do so (Routing, History Management, Templates, communication with server, Caching, data binding...etc). it does not provide you with a UI controls or a responsive designs.
Bootstrap on the other hand provides you with all the classes and a set of controls to make building a responsive and rich UI easier. Angularjs does not require Bootstrap and Bootstrap does not require angular. they complete each other. but of course you can use any UI framework to build a responsive design. Note: the JS files in bootstrap are only required when you want to use the controls from bootstrap but if you are looking to just use the grid and responsive part of bootstrap, you do not need JS files.
Bootstrap UI is a collection of directives to use the bootstrap controls in angular application, because you cannot handle bootstrap controls directly in your angular because they require a page cycle to be loaded correctly but angular life cycle is different than the page life cycle. Loading an angular template with some bootstrap controls will not work because I think it requires a document ready event so that bootstrap renders its controls, that is why the team built this group of controls.
on the other hand, Angular UI is also a set of different controls that web developers may need or familiar with, built in Angularjs, again, JQuery controls will not work inside angular templates if you load them using angular routing or other methods where there is no page life cycle.