Лучший способ сделать веб-страницу живой и многопользовательской - PullRequest
1 голос
/ 12 марта 2012

Я создаю веб-приложение для «мозгового штурма».Вот как это работает: по сути, пользователь может зайти в приложение и отправить запрос или щелкнуть мышью по уже существующему, затем придумать идеи для решения этой проблемы и опубликовать их.Я взломал здесь базовый пример на couchdb: http://wamoyo.iriscouch.com/ideageneration/_design/IdeaGeneration/attachments%2findex.html

Я собираюсь восстановить его с нуля и все такое, и я столкнулся с проблемой, которая мне незнакома.Я хотел бы, чтобы несколько пользователей могли генерировать идеи для одной и той же задачи одновременно.В некотором роде, как Google Docs позволяет нескольким людям редактировать общий документ.У меня есть несколько предварительных мыслей о том, как это сделать, но я решил спросить здесь экспертную сеть.

Мне довольно комфортно с AJAX, есть ли чистый AJAX способ сделать его живым и многопользовательским?Будет ли огромная польза от использования node.js?Какие еще могут быть варианты?

Большое спасибо!

1 Ответ

3 голосов
/ 12 марта 2012

Есть несколько подходов к созданию таких веб-страниц, используя простой опрос ajax, используя длинный опрос и используя веб-сокеты.

  • Опрос Ajax - прост в реализации, по сути, периодически подключается к серверу через таймер JavaScript, получает данные с сервера и отправляет их обратно через обычный Ajax.

    • Преимущества: простота реализации, работает везде
    • Недостатки: обновления не в режиме реального времени, обмен данными происходит только при срабатывании таймера.
  • Длинный опрос - идея заключается в том, что соединение остается открытым до истечения времени ожидания, а затем соединение восстанавливается. Может быть сложно реализовать из-за разных настроек времени ожидания запроса для разных веб-серверов, маршрутизаторов и т. Д.

  • Веб-сокеты - часть зонтика HTML5, работает только в довольно современных браузерах, протокол часто меняется, что может привести к несовместимости во время разработки и производства. Может использоваться непосредственно с современными браузерами и через плагин Flash с более старыми. Эта технология является наиболее легкой, потому что она не влечет за собой все накладные расходы HTTP. Думайте об этом как о двунаправленном, дуплексном канале связи между браузером и веб-сервером через TCP.

Для подробного обсуждения, я рекомендую прочитать этот хороший пост Скотта Хансельмана . Он рассказывает историю о SignalR, но применим к другим серверным фреймворкам.

Существует также подкаст того же автора, гость довольно глубоко объясняет эти технологии. Стоит послушать, ИМО.

Чтобы ответить на ваш вопрос о node.js, поделитесь с нами своей текущей серверной технологией, чтобы мы могли лучше понять ваш стек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...