Вы веб-разработчик?
Для вас есть новости.
В чем собственно проблема?
Все веб-фреймворки можно разделить на группы. У каждой из этих групп есть свои достоинства и недостатки.
Сервер-ориентированные
Например:
RoR,
Django,
Asp Net,
Express.js
Генерируют html на сервере.
Такой подход хорош для статических страничек.
Но как только вы хотите сделать что-то интерактивное, то начинаете утопать в jQuery-коде.
Клиент-ориентированные
Например:
Backbone.js,
Knockout.js,
Ember.js,
Batman.js
Генерируют html прямо на клиенте из темплейтов. Код на клиенте структурирован.
Хорошо для интерактивных сайтов.
Не отменяет необходимость использовать сервер-ориентированный фреймворк, что ведет к дублированию кода (модели, валидация и т.д.)
Кросс-компилируемые
Например:
GWT,
Cappuccino
Позволяют писать всё на одном языке.
Очень большой уровень абстракции.
Шаг вправо, шаг влево — расстрел.
Так же ни один из фреймворков не имеет механизмов синхронизации данных между клиентом и сервером и оставляет реализацию этого на нашу совесть.