2012-03-28 3 views
4

Может ли кто-нибудь рассказать мне библиотеку js opensource, которая может иметь синхронизацию пользовательского интерфейса в реальном времени между браузерами с сервером, имеющим контроль между ними.Библиотека синхронизации реального времени UI для браузеров

Я проверил autobahn.ws синхронизацию ui в реальном времени, но не с открытым исходным кодом.

Он должен быть совместим со всеми браузерами.

+0

Почему вы помечать этот вопрос как [тег: питон ]? – Tadeck

+0

Помните, что для поддержки этого вам, скорее всего, понадобится независимый сервер, который обрабатывает эти вызовы. Требование «в реальном времени», скорее всего, требует WebSockets. Вам не нужно использовать socket.io, но вы можете проверить их сайт, поскольку они много объясняют процесс и параметры. –

+0

Просто убедитесь, что библиотека совместима с бэкэндом python .. – northlondoner

ответ

1

Использование обезьяны.

http://www.ape-project.org/

Он не собирается строить свой пользовательский интерфейс для вас. Это твоя работа. Об этом нет. Вы архивируете данные для Push, а затем вы создаете своих клиентов на основе этих данных.

+0

thats fine. я сделаю ui. Спасибо за информацию. – northlondoner

+0

Я нашел обезьяну негибкой и багги, чтобы ее можно было использовать в готовых к производству средах. См. Мой ответ на альтернативу, если у вас возникли аналогичные проблемы. – Alp

1

Для синхронизации в реальном времени с пользовательским интерфейсом вы можете использовать функции HTML5. Однако он не будет работать во всех браузерах, я отправляю это для справки:

http://dev.w3.org/html5/websockets/

http://dev.w3.org/html5/eventsource/

+0

благодарит за информацию raja.s – northlondoner

4

Поскольку вы имеете в виду Autobahn.ws, позвольте мне кратко остановиться на пару вещей:

  • Синхронизация пользовательского интерфейса в реальном времени идеально подходит для WebSocket, поскольку WebSocket не только имеет очень низкую задержку по ходу потока, но и очень низкую upstream latency. В частности, последнее очень сложно/практически невозможно использовать текущие обходные пути, такие как Comet, Ajax Push, вы его выбираете.
  • С помощью WebSocket вы можете достичь времени в оба конца между 200 мкс (LAN), 10 мс (тот же город, пара хмелей), 30 мс (одна и та же страна), 150-200 м (через океан), 80-100 мс (3,5Г), или 25 мс (LTE, одна и та же страна).
  • Хотя Autobahn.ws (прибор) является коммерческим, лежащий в основе технологии (AutobahnPython, AutobahnJS, AutobahnAndroid и т.д.) полностью открытым исходным кодом
  • Autobahn.ws (прибор), хотя коммерческие, будут иметь полностью свободный версия, которая ограничена количеством параллельных подключений WebSocket.
  • Код JS для демонстрации слайдеров UI на нашем сайте - 50 строк. Это действительно тривиально.
  • Autobahn поддерживает широкий набор настольных и мобильных браузеров http://autobahn.ws/browsers

Отказ от ответственности: Я автор автобану и работа для Tavendo.

+0

спасибо oberstet. его хорошо знать, что autobahnjs и autobahnpython является открытым исходным кодом. – northlondoner

+1

Ссылка http://autobahn.ws/browsers мертва. – koppor

+0

Спасибо, мы вернем этот URL снова. Тем временем вы можете найти соответствующий список по адресу http://www.tavendo.de/webmq/browsers – oberstet

3
  • sails.js новая звезда на небе MVC
  • Derby может быть то, что вы ищете. Он использует Racer, «механизм синхронизации модели в реальном времени для Node.js».
  • Meteor - еще одна альтернатива.
  • Более низкий уровень (с помощью веб-сокетов) является

Обсуждение относительно сравнения на https://stackoverflow.com/questions/10374113/meteor-vs-derbyjs. Дискуссия, в которой сравниваются эти три, происходит по адресу https://stackoverflow.com/questions/11857367/socketstream-vs-derbyjs-vs-meteor.

Только ручное решение для веб-сокетов будет совместимо с бэкэнд Python. Поскольку вопрос задается более общим, я также перечислял рамки, включая бэкэнд.

0

Вам будет интересно в этом ответе: https://stackoverflow.com/a/10950702/675065

Это в основном Итоговое о том, как использовать WebSockets в Python. стек программное обеспечение:

  1. SockJS (для клиентских обработок)
  2. Tornado (как сервер sockjs)
  3. Redis (для Pub/Sub)
Смежные вопросы