Nodejs vs SignalR: зачем нам серверный javascript? - PullRequest
88 голосов
/ 30 января 2012

Так как я знал о Node.js, я всегда был его поклонником.Но сегодня я обнаружил около SignalR , который предоставляет альтернативную асинхронную - масштабируемую - модель реального времени для ASP.NET.

Насколько я знаю, основным преимуществом Node.js над SignalR является совместное использование кода между клиентом и сервером (другое преимущество должно заключаться в том, что он кроссплатформенный), а главное преимущество SignalR - это значительноеболее зрелая структура и гораздо лучшая поддержка инструментов (IDE).Поэтому мне интересно: если SignalR здесь, нам нужен Node.js в Windows?Есть ли какие-то преимущества Node.js, которых я не знаю?

1 Ответ

104 голосов
/ 30 января 2012

SignalR является жизнеспособной альтернативой Socket.IO и Node.js.Однако существуют и другие причины для использования javascript на сервере.

  1. Это выравнивает стек.Почти любой веб-сайт в наши дни должен иметь javascript в браузере, и если вы используете его и на сервере, вы можете вырезать из пакета один язык, который вам понадобится.

  2. Передача сообщений очень естественна.JSON Везде!Особенно в сочетании с базой данных документов, которая использует JSON, вся передача сообщений просто становится объектами JSON.Это уменьшает количество сообщений, которые должны происходить во всей системе.

  3. Это не Microsoft.Мне лично нравится то, что Microsoft сделала для сообщества разработчиков.Они делают фантастические инструменты и один из лучших фреймворков и языков вокруг.При этом некоторые люди просто любят ненавидеть Microsoft.

  4. Стоимость.Есть много хороших способов получить инструменты Microsoft бесплатно или очень дешево (редакции Express и Biz Spark).Работа с инструментами Microsoft по-прежнему дороже.Я полагаю, что в большинстве случаев эти затраты оправдывают повышение производительности, но не все с этим согласны.

В дополнение к вышесказанному, существует история о том, что долго масштабировать нельзяОпрос запросов на IIS из-за модели потоков.В этом есть доля правды, но с хорошим дизайном кода и некоторыми настройками сервера вы в основном можете обойти эти проблемы.

...