Связаны ли любые клиентские JavaScript-структуры с Node.js + Express.js + socket.io.js?
Я создаю webapp используя Node.js + Express.js + socket.io.js на сервере.
В любой из популярных интерфейсных интерфейсов (Agility, Angular, Backbone, Closure, Dojo, Ember, GWT, jQuery, Knockback, Knockout, Spine, YUI и т.д.) хорошо интегрируются с этим бэкэндом для "в реальном времени"?
Я хочу, чтобы мое приложение было очень "в реальном времени". В частности, когда пользователь отправляет форму, я хочу, чтобы информация была отправлена с использованием веб-сокетов на бэкэнд для проверки и (если проверка прошла) для обновления в базе данных. Затем серверная сторона будет использовать веб-сокеты для отправки подтверждения о сохранении данных или некоторых списков ошибок. Я буду использовать ответ сервера для обновления страницы с помощью JavaScript.
Я знаю, что все это можно сделать с любой из перечисленных фреймворков. Меня интересуют особенности конкретных фреймворков, которые помогут интегрировать структуру с бэкэндом на основе Node, чем другие фреймворки.
Ответы
Ответ 1
Эмбер также действительно подходит.
См. Charles Jolley convoy
, что может быть очень полезно для интеграции активов на стороне клиента.
В пакете NPM Ember также есть пример приложения, которое может быть хорошим началом (на основе convoy
).
Ответ 2
Зависит от приложения и вашего прецедента. Я имею тенденцию генерировать html-серверную сторону, поэтому я все еще получаю преимущества семафонов и других js-rich-фреймворков на стороне клиента, что приводит к неудачному побочному эффекту от того, что Googlebot не сканируется.
Если вам требуется аутентификация для использования вашего приложения, то хорошим решением может служить магистраль или другая инфраструктура, представленная в TODOMVC.
Обычно при использовании socket.io на стороне сервера вы также должны использовать его на стороне клиента.
Ответ 3
Я думаю, что angular.js лучше всего подходит для приложений реального времени.
- Связывание данных и впрыскивание зависимостей
- Инструменты тестирования
- Easy REST
Вот некоторая информация о структуре.