• Juick JavaScript Задача: сделать на сайте автоматическое обновление комментариев к треду, push-ем с сервера. Что посоветуете?

Replies (58)

  • @ugnich, переписать на питоне с использованием торнады и вовсю заюзать comet :3
  • @ugnich, а вообще как обычно — то comet.
  • @ugnich, у меня на сайте есть чатик с обновлением мессаг. Больше ничего не знаю
  • @ugnich, websockets если осилите)
  • @ugnich, а ещё можно вспомнить бородатые 00-е и прилепить nph :)
  • @Bupyc, Я-то осилю, а браузеры юзеров?!
  • @Bupyc, не портабельно же нихрена
  • @ugnich, проще всего — поллинг, но ведь нагрузку дополнительно создает... а как вариант можно через JS к жабберу подключаться
  • @ugnich, WebSockets или Comet. очень здорово это всё реализовано на godville.net
  • @freefd, Чтобы заюзать пуш — заюзай пуш. Охренительный совет.
    yum install comet — оооооооооок
  • @ugnich, я тебе вторым комментарием уже посоветовал. и даже 6. выбирай :)
  • @ugnich, Как перлобл^H^Hфил угнич будет рад github.com
  • @ugnich, пушем? cometd
  • @freefd, Меня больше приличная браузерная часть интересует.
  • @Stiletto, Ок, про Xiva почитаю. На стороне клиента чо? Чтобы работало во всех современных браузерах, включая IE.
  • @ugnich, ОМГ:
    Strophe is a family of libraries for writing XMPP clientsНе надо сюда XMPP, это же сайт.
  • @ugnich, зато будет twitter-way, сайт — клиент апи твиттера %)
  • @Als, FACEPALM. Твиттер не первый, кто так делает. Это абсолютно обычная практика.
  • @ugnich, я к тому, что будут тыкать пальцем. а, впрочем пофиг
  • @freefd, "Websocket: будущее где-то там далеко". Почитай про поддержку браузерами, там всё очень печально.
  • @ugnich, ну вроде как эмуляция вокруг для ущербных там внутри статьи. не?
  • @ugnich, непонятно, чего хотели добиться в этом треде. я бы просто молча поговорил с администрацией godville.net у которых всё летает и бибикает. впрочем, они не одиноки
  • @freefd, Извиняюсь, до конца не дочитал.
    Посмотрел внимательнее — ужасно. Проблемы клиента решать большущими костылями на сервере. По некоторым причинам мне это не подходит.
  • @ugnich, а как иначе. это вебдев, чувак.
  • @ugnich, это плохая реальность.
  • @ugnich, ЯНИЧЕГОНЕПОНЯЛ.jpg, но:
    1) поллинг — говно.
    2) при чем здесь вообще redis и erlang?! (это риторический вопрос)
  • @ugnich, 1) по определению.
    2) buzzwords и маркетинговый bullshit. :)
    Серверная часть будет на Perl, с ней особых проблем нет. Волнует прежде всего клиент.
  • @ugnich, Серверная часть будет ... ;)
  • @ugnich, Видимо, так и прийдется. И, AFAIK, в IE9 не будет websockets.
  • @ugnich, Как писали выше Xiva, в случае если клиент не поддерживает вебсокеты то просто отдает comet, но в таком случае встает вопрос зачем одному еще тянуть и вебсокеты, лишь потому что это модно? Хотя технология интересна и не так сложна, но уж лучше выбрать что то одно и не плодить сущностей.
  • @ugnich, как всегда, спросили что юзать, а в итоге меряние причинным местом.
  • @ugnich, знаю что вам это не понравится, но влещь умеет сокеты, работает почти во всех браузерах, кроме тех у которых не установлен влещь
  • @kutu, А он может быть клиентом для websockets?
  • @ugnich, простите мне мое невежество но я не в курсе вебсокетов
    флеш сокет работает так:
    1 флешка коннектится на сервер:порт
    2 сервер должен на запрос от флеша на policy-file выдать xml в которой будет сказано что флешке дано право брать инфу с этого сервера
    3 затем флешка отконективается и подключается снова чтобы уже посылать-получать данные
    если вебсокеты умеют так, то да, флешка может быть клиентом вебсокета
  • @ugnich, а может пока сойдет как на хабре, сделать кнопочку обновления комментов
  • @ugnich, на стороне сайта — любой популярный comet-ообразный js-либ (есть такие, что умеют сначала websocket пробовать, потом всё остальное по очереди пока что-то да не сработает). Если интересует сервер, то тут есть варианты. Для python`а я сейчас смотрю в основном на hookbox.org
  • @Nikolay, а для примера как оно может выглядеть на сайте, рекомендую всем сходить на friendfeed.com и подождать пару секунд. По моему, неплохо так сделано.
  • @Nikolay, "любой популярный" — спасибо, кэп.
  • @Nikolay, FACEPALM! Поллинг, причём кривой.
  • @ugnich, я это для примера как оно выглядит для пользователя, а не какой имеет внутренний мир
  • @ugnich, а что делать, я их пробовал, но однозначного лидера так и не вывел. На своём сайте пока всё тот же polling пользую, ибо работает. Смотрю на hookbox, штука вроде подходящая, но доки пока ещё недописаны, что грустно.
  • @ugnich, Comet или WebSocket. Правда первый костыльный, а WebSocket получше будет, так как было больше времени идеи отточить. Многие браузеры уже точно поддерживают. Либо как вариант, сделать просто скрипт на JavaScript, который через промежутки времени обращается к серверу. Но WebSocket выглядит более юзабельно и логично как то, да и серверу нагрузка меньше. Его не будут дергать лишние запросы JS, даже когда обновлений не было.
  • @ugnich, тоже не понял про Redis. Причем здесь кэширование? Ну может оно где то боком как оптимизация. А Erlang — ну да. Давайте жуйк на всем что можно писать
  • @ugnich, и да. насчет плохой поддерживаемости WebSocket. Все новые версии браузеров вебсокеты умеют. А в жуйке 99% если не все сто, люди которые в компах не первый день, как минимум продвинутые пользователи. И я очень сомневаюсь, что кто-то пользуется старыми версиями браузеров. Если такие есть — их меньшинсто, и они обновятся довольно резво. Так что бояться тут совершенно нечего.
  • @demiazz, Не верно. Во-первых, с поддержкой в браузерах всё очень плохо. Во-вторых, в джуике люди очень разные с очень разными браузерами. :)
  • @ugnich, но последние то версии всех основных браузеров WebSocket поддерживают =) лиса вроде тянет уже. Новая опера тоже. хром и его сородичи — подавно же ну =))) даже личкрафты вроде тянут
  • @ugnich, ну правда стоит подождать мозилку 4. там вроде реализовали поддержку. ну а ИЕ — минимум его пользователей, и то с 9 обещают. А представь сейчас ты начнешь делать на комет к примеру — а потом? Комет уже не так активно развивается, как WebSocket, тем более второй — стандарт HTML5. Если сделаешь на AJAX — ладно. Переписывать придется, но хотя бы не так много. ИМХО лучше ориентироваться уже на WebSockets или на методы используемые тем же Twitter, или поговорить с разрабами godville.net, и спросить как они делают такие вещи. Просто комет неизбежно стареет и уходит на второй план. Есть ли рациональность в его использовании сейчас, когда на подъоде полная поддержка WebSocket? =)
  • @ugnich, Достаточно Google Chrome Frame
  • @demiazz, Во-первых, не слышал, чтобы в IE9 обещали WebSocket. Во-вторых, не исключено, что WebSocket ещё будут переписывать.
    В-третьих, задолбали вы уже со своим "кометом". Как мантру это слово повторяете, но по-моему большинство даже не до конца понимает, что это очень расплывчатый термин обозначает. Я, вот, потрудился изучить подробнее и понял, что вообще нихрена конкретного он не обозначает. Так какого хрена тогда ваш "комет" советовать наравне с определенной технологией вроде WebSocket?! Это же все равно, что сравнивать Audi R8 5.2 с "четырехколесным средством передвижения".
    Ну да хрен с ним, буду пробовать WebSockets.
  • @ugnich, Тогда посоветую конкретно: разобрать на запчасти meteorserver.org — он как раз на Perl
  • @OCTAGRAM, Что-то ничего там не вижу про WebSockets, только про поллинг.
  • @ugnich, комет я вообще не сторонник, и уж не почитаю его. Просто пока это наиболее браузеро независимый протокол что ли. А вообще да. Вебсокеты делай. Если каждый сервис будет бояться внедрять новые технологии — то эти технологии так и будут забыты.
  • @demiazz, КОМЕТ — НЕ ПРОТОКОЛ!!!1 Раньше это обозначало, что используется модель, при которой браузер поддерживает длительное HTTP-соединение с сервером, получая оттуда данные. Потом под этот ваш комет всякие быдлокодеры начали и поллинг подводить, и вообще что угодно. Так что сейчас КОМЕТ — ЭТО ТУПО ЧИСТЯЩЕЕ СРЕДСТВО.
  • @ugnich, И вааще, блин, WebSockets — это тоже комет. :)
  • @ugnich, первое — я знаю что это не протокол. Я для обобщения назвал :) второе — я сказал лишь то, что я за вебсокет. Причем здесь пуллинг. Причем вообще что здесь писалось до меня? Я писал гораздо позже и от себя, черт побери, Антон. :) е мое :)