С тех пор, как я знал о Node.js, я всегда был его поклонником. Но сегодня я узнал о SignalR , который предоставляет альтернативную асинхронную - масштабируемую - модель реального времени для ASP.NET.
Насколько мне известно, основным преимуществом Node.js перед SignalR является совместное использование кода между клиент-сервером (еще одно преимущество должно заключаться в том, что он кроссплатформенный), а главное преимущество SignalR - это гораздо более зрелая структура и гораздо лучше инструмент (IDE) поддержка. Поэтому мне интересно: если SignalR здесь, нужен ли нам Node.js в Windows? Есть ли преимущества Node.js, о которых я не знаю?
asp.net
node.js
asynchronous
signalr
Куан Май
источник
источник
Ответы:
SignalR - жизнеспособная альтернатива Socket.IO и Node.js. Однако есть и другие причины использовать javascript на сервере.
Он сглаживает стопку. Практически любой веб-сайт в наши дни должен иметь javascript в браузере, и если вы используете его и на сервере, вы можете вырезать один язык из пакета, которым вам нужно владеть.
Передача сообщений очень естественна. JSON везде! Особенно в сочетании с базой данных документов, которая использует JSON, все передаваемые сообщения просто становятся объектами JSON. Это снижает количество брокеров сообщений, которые должны происходить во всей системе.
Это не Microsoft. Мне лично нравится то, что Microsoft сделала для сообщества разработчиков. Они создают фантастические инструменты и одни из лучших фреймворков и языков. При этом некоторые люди просто любят ненавидеть Microsoft.
Стоимость. Есть много хороших способов получить инструменты Microsoft бесплатно или очень дешево (Express editions и Biz Spark). Работа с инструментами Microsoft по-прежнему связана с более высокими затратами. Я считаю, что в большинстве случаев эта стоимость стоит повышения производительности, но не все согласны.
В дополнение к вышесказанному, все еще ходят слухи, что вы не можете масштабировать длинные запросы на опрос в IIS из-за модели потоковой передачи. В этом есть доля правды, но с хорошим дизайном кода и некоторыми настройками сервера вы в основном можете обойти эти проблемы.
источник