• Выбор языка для web разработки(real time). Какой вы посоветуете?

    @bromzh
    Drugs-driven development
    Real-time - это, наверное, long-polling, когда сервер и клиент подолгу держат соединение открытым, в противовес обычному вебу, где 1 запрос открывает соединение, ждёт ответа и сразу закрывает его. Для этого обычно используют многопоточные и/или асинхронные штуки.
    Со стороны клиента это реализуется через WebSocket (современный вариант), либо другими хитрыми методами. Протокол websocket поддерживают многие браузеры, однако есть SockJS, который в случае чего прозрачно меняет протокол на другой доступный. Там же есть ссылки на реализацию этого протокола для других языков.
    Со стороны сервера:
    Для питона - это tornado и asyncio (только для 3-й ветке, включён в стандарт). Можно писать в коллбечном стиле, можно в обычном с использованием корутин (сопрограмм). Tornado умеет sockjs, вебсокет есть для обеих вариантов.
    Java сама по-себе многопоточна, поддержка websocket включена в стандарт JavaEE. Помимо этого есть решения для спринга. Это удобно, потому что нужен всего 1 фреймворк и для обычной части сайта (если такая есть), и для его асинхронной части. Есть очень производительный сервер netty с неблокирующим вводом-выводом и апи к нему.
    И т.д.
    В принципе, почти для каждого языка есть свой неблокирующий сервер и фреймворк к нему. Просто смотри на тот язык, который удобнее и для которого есть большая инфраструктура.
    Ответ написан
    Комментировать
  • Выбор языка для web разработки(real time). Какой вы посоветуете?

    @eoffsock
    Кодер (Rails)
    Под «real time web» вы понимаете comet, асинхронность и многопоточность?
    Node.js, Erlang. Еще Go выходит на сцену многопоточности, и весьма успешно.

    Node.js проще всего, особенно если уже имели дело с Javascript. Недостатки — память подтекает. Увы, это факт, но это не смертельно и лечится.
    Go — по вкусу. Попробовать советую в любом случае, приятный язык, хорошее будущее. Есть определенные баги, язык все-таки молодой.

    Erlang — для больших нагрузок. На тот случай, когда нужно выжать из железа максимум, но при этом не писать проект на C/C++. Память не течет (за исключением пары опасных мест), выстрелить в ногу сложно. Писать тоже сложно, если с непривычки.

    В большинстве задач будет достаточно Go/Node.js.
    Ответ написан
    5 комментариев
  • Выбор языка для web разработки(real time). Какой вы посоветуете?

    dmitriy_novikov
    @dmitriy_novikov
    Занимаюсь web-разработкой с 2010г. http://dmnv.ru
    для real time сейчас очень актуален node.js
    сложно сказать, сколько продержится этот тренд, но я думаю javascript будет только развиваться. в том числе и серверный.
    Ответ написан
    Комментировать
  • Выбор языка для web разработки(real time). Какой вы посоветуете?

    @webdeveloper48
    Python + django + javascript.
    Имхо больше и нечего предложить.
    Думаю вам понравится)
    С знанием Python можно будет и под линукс делать что то,пилить дополнения под свой дистрибутив итд,многое написано на питоне,и он очень прогрессирует!
    Ответ написан
    Комментировать