Расширяю знания по JS. Какие фреймворки изучать?
собственно angular и backbone сравнивать не корректно. backbone дает лишь общий каркас, помогает реализовать модель и синхронизацию данных с сервера, когда как angular дает жесткую mvc структуру и массу плюшек (тот же биндинг данных, директивы, сервисы...) По сути вам никто не мешает использовать backbone и angular.js в связке (модель на backbone как сервис для angular или чего еще).

По поводу библиотек — почти все библиотеки не привязаны к фреймворку. В backbone лучше использовать штуки типа require.js для ресолва зависимостей. В angular.js можно библиотеку зарегистрировать как сервис и использовать через di. Ну и так же для него масса готовых модулей. Так что тут привязываться к фреймворку смысла нету.

По поводу совместимости с yii — если общение производится посредствам rest api — глубоко плевать на чем она реализована.

Ссылки не приведу… У angular.js и у backbone все очень неплохо с распространением, да и с производительностью (ну как… у ангулара есть пока грешек с грязной проверкой изменений, но вроде как планируют перевести это все дело на Object.obsorver). Раньше использовал backbone, последние пол года полностью все на angular (от админок и одностраничных приложений до phonegap, хотя для последнего выгоднее использовать backbone ну и жесточайше оптимизировать ui, но это на порядок увеличивает сроки).
Смотрите в сторону derby.js и meteor.js - если хотите и клиент и сервер на JS и реактивности (пользователь что-то поменял - все остальные сразу же это увидели), если вам работать только с фронтендом (только браузер, сервер не трогаем) - то ваш выбор angular.js