Каковы случаи использования Node.js против Twisted? - PullRequest
65 голосов
/ 11 августа 2010

Предполагая, что команде разработчиков одинаково удобно писать Javascript на стороне сервера, как и в Python & Twisted, когда Node.js будет более подходящим, чем Twisted (и наоборот)?

Ответы [ 2 ]

77 голосов
/ 11 августа 2010

Twisted более зрелый - он существует уже очень давно, и в нем столько наворотов, что у вас кружится голова (реализация самых модных протоколов, интеграция реактора с большим разнообразием других событий). петли и т. д.).

Node.js называется более быстрым (я не измерял его сам) и, возможно, его было бы проще использовать (если вам не нужны никакие дополнительные навороты) именно потому, что этих дополнений нет (вроде как Торнадо в мире Python - опять же, я никогда не измерял относительную производительность).

Итак, я бы абсолютно использовал Twisted, если бы мне понадобились какие-либо из его дополнительных функций или я хотел чувствовать себя более уверенно, используя более зрелый пакет. Если эти соображения не применимы, но ключевой целью проекта является максимальная производительность, то я бы написал простой тест (но все еще представляющий как минимум одну или две ключевые ситуации, требующие производительности для моего реального проекта) в Twisted, Node.js, и Торнадо, и сделайте много тщательных измерений, прежде чем я решу, какой путь идти в целом. «Дополнительные функции» (сторонние расширения и стандартная библиотека) для Python и Javascript на стороне сервера также гораздо более распространены, и это может быть ключевым фактором, если какие-либо дополнительные функции необходимы для проекта.

Наконец, если ни один из этих вопросов не имеет значения для конкретного сценария приложения, попросите группу разработчиков проголосовать за относительную простоту трех кандидатов (Twisted, Node.js, Tornado) с точки зрения простоты и знакомства - любой из них будет вероятно, все будет в порядке, может с таким же успехом выбрать то, что большинству команды наиболее удобно!

7 голосов
/ 27 июля 2012

С 2012 года Node.js зарекомендовал себя как быстрая, масштабируемая, зрелая и широко используемая платформа.Райан Даль, создатель цитат Node.js:

В наши дни Node используется большим количеством стартапов и авторитетных компаний по всему миру, от Voxer и Uber до Walmart и Microsoft.Можно с уверенностью сказать, что миллиарды запросов проходят через Узел каждый день.По мере того, как все больше и больше людей приходят в проект, доступные сторонние модули и расширения растут и увеличиваются в качестве.Хотя когда-то я был зарезервирован для того, чтобы рекомендовать его для критически важных приложений, теперь я от всей души рекомендую Node даже для самых требовательных серверных систем.

Более формально преимущества Node можно классифицировать как:

  • Отличное сообщество: Можно сказать, что ни одна другая платформа не получила такой привлекательности сообщества за такой короткий период времени, у нее есть сотни участников и тысячи наблюдателей в GitHub.и используется такими гигантами, как Yahoo!(Манхэттенский проект), e-bay, LinkedIn, Microsoft и Voxer.

  • NPM: Несмотря на относительно небольшое ядро, Node имеет лотов *Доступно 1020 * пакетов, расширяющих его функциональность на все, что вы можете рассмотреть!Все это автоматизировано, активно разрабатывается и расширяется, представьте себе PyPI (pip).

  • Масштабируемость и скорость: Архитектура узла и однопоточная природа обеспечивают высокую масштабируемость и скорость,Специально после выпуска 0.8 его скорость стала действительно быстрее ( тесты ), что может быть подтверждено многими крупными компаниями, использующими Node.Ядро V8 также постоянно улучшается благодаря текущей войне браузеров.

  • JavaScript: Базовый язык Node (JS) лучше подходит для такого сервераПобочные применения, особенно лямбда-функции, динамические объекты и легкая JSON-сериализация - это основные моменты JS, которые действительно хорошо подходят для случаев, когда важны скорость и масштабируемость.(У Python есть все из них, но они действительно лучше и мощнее в JS).

  • Развертывание: Из-за его широкого использования множество действительно хороших сайтовпредоставить инструменты для простого и мощного развертывания Node, включая Heroku, Joyent, Cloud9 и многое другое.

Поэтому Node выглядит более мощным и с более легким будущим, так что если нетПри любых ограничениях на его использование (например, существующий код, серверы, возможности коллектива) рекомендуется для любого нового совместного сетевого проекта, нацеленного на высокую скорость и масштабируемость.

...