Nodejs vs SignalR: зачем нам нужен серверный javascript?

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

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

1 ответов


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

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

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

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

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

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