Я использую knockout.js в течение нескольких месяцев и считаю его повседневной радостью использовать. Прибыль от отсутствия управления состоянием на dom или применения собственных пользовательских привязок невероятна, и я не возражаю против того, чтобы не иметь функций модели. Но каждый раз, когда я читаю чрезмерный взгляд на knockout.js и другие рамки, консенсус, кажется, таков, что это здорово, это приводит к меньшему количеству кода и сложности в целом, но лучше подходит для небольших проектов. Это утверждение всегда дается по сути, без особого объяснения, поэтому я смущен тем, что, по-видимому, является консенсусом. (Справедливости ради, я еще не использовал Backbone, и поэтому не знаю, как они сравниваются)
Я использовал его на двух довольно больших проектах, каждый из которых содержит около десятка моделей и десяток моделей-представлений или около того и не видел проблемы с ним. Единственный недостаток, который я вижу против магистрали в крупном проекте, заключается в том, что вы получите некоторый незначительный выигрыш в производительности для применения нокаута и управления всеми связями. Но является ли это главной проблемой или есть что-то еще, что мне не хватает?