web-dev-qa-db-ja.com

Nodejs対SignalR:なぜサーバー側のJavaScriptが必要なのですか?

Node.jsについて知っていたので、私は常にそのファンでした。しかし、今日、私は SignalR について発見しました。これは、ASP.NETの代替非同期-スケーラブル-リアルタイムモデルを提供します。

私の知る限り、SignalRに対するNode.jsの主な利点は、クライアントサーバー間でコードを共有することです(別の利点は、クロスプラットフォームであることです)。SignalRの主な利点は、はるかに成熟したフレームワークであり、はるかに優れていますツール(IDE)サポート。だから私は疑問に思う:SignalRがここにある場合、Windows上でNode.jsがもう必要ですか?私が知らないNode.jsの利点はありますか?

88
Vimvq1987

SignalRは、Socket.IOおよびNode.jsの実行可能な代替手段です。ただし、サーバーでjavascriptを使用する理由は他にもあります。

  1. スタックを平坦化します。最近のほとんどのWebサイトでは、ブラウザーにJavaScriptを使用する必要があります。サーバーでJavaScriptを使用する場合は、習熟しなければならないバッチから1つの言語を削除できます。

  2. メッセージの受け渡しは非常に自然です。どこでもJSON!特に、JSONを使用するドキュメントデータベースと組み合わせると、すべてのメッセージパッシングはJSONオブジェクトになります。これにより、システム全体で発生する必要があるメッセージブローカリングの量が削減されます。

  3. マイクロソフトではありません。個人的には、マイクロソフトが開発コミュニティのために行ったことをとても気に入っています。彼らは素晴らしいツールを作り、最高のフレームワークと言語の一つを作ります。そうは言っても、一部の人々はマイクロソフトを嫌うのが大好きです。

  4. コスト。 Microsoftのツールを無料または非常に安価で入手する方法はたくさんあります(ExpressエディションとBiz Spark)。 Microsoftのツールを使用すると、さらに高いコストがかかります。ほとんどの場合、このコストは生産性の向上に見合うだけの価値があると思いますが、全員が同意するわけではありません。

上記に加えて、スレッドモデルのために、長いポーリングリクエストをIISでスケーリングすることはできません。これにはいくつかの真実がありますが、 適切なコード設計 、およびいくつかのサーバー調整、これらの問題をほとんど回避できます。

104