Я тоже искал фреймворк для внешнего интерфейса несколько месяцев назад.Вот список требований, которые у нас были, и как Backbone.js реагировал на каждое из них:
1.Поддержка браузера (IE8 +)
Здесь есть одно предупреждение: модуль backbone.history использует событие hashchange , которое не работает в IE7 и ниже .Есть способы обойти эту проблему, так что это не шоу-стопор, а раздражение.
2.Возможность применения нашего собственного внешнего вида к элементам пользовательского интерфейса
Поскольку магистраль обеспечивает только структуру MVC вашего приложения (в отличие от таких сред, как cappucino или sproutcore), это было для нас идеальным решением.
3.Возможность подключения любых других внешних библиотек JavaScript
Мы уже использовали jQuery, и магистраль поддерживает его, так что это нормально.Однако, похоже, что магистраль пытается использовать независимый от библиотеки подход (например, вы можете использовать zepto.js вместо jQuery, если хотите).
4.Поддержка сообщества
Существует множество вводных материалов по магистрали (например, люди, публикующие учебники в блогах).К сожалению, когда ваше приложение стало сложным, оказалось, что было довольно много «архитектурных» частей, которые мы должны были выяснить сами, не было никакого очевидного способа сделать это.DOCS хороши, но не велики.
Я думаю, что из ловушек самоуверенных фреймворков (например, рельсов) может быть то, что иногда вы попадаете в чувство "я делаю это правильно".
5.Примеры из реальной жизни
Всегда убедительно видеть, что кто-то на самом деле сделал что-то "РЕАЛЬНОЕ" с магистралью:
http://documentcloud.github.com/backbone/#examples
В итоге мы использовали Backboneи в целом это был приятный опыт, и я определенно буду изучать его снова для нашего следующего проекта.