1. ホーム
  2. asp.net

[解決済み] Nodejs vs SignalR: なぜサーバーサイドのJavaScriptが必要なのか?

2023-02-13 13:52:10

質問

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

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

どのように解決するのですか?

SignalRは、Socket.IOやNode.jsに代わる有効な手段です。しかし、サーバー上でjavascriptを使用する他の理由があります。

  1. スタックを平坦にすることができます。最近では、ほとんどすべての Web サイトがブラウザ上で javascript を使用する必要があり、サーバ上でも使用すれば、熟練しなければならない言語を 1 つ減らすことができます。

  2. メッセージの受け渡しがとても自然。どこでもJSON! 特にJSONを使用するドキュメントデータベースと組み合わせることで、すべてのメッセージパッシングがJSONオブジェクトになるだけです。このため、システム全体で発生するメッセージ仲介の量が減ります。

  3. Microsoft ではありません。私は個人的に、Microsoftが開発コミュニティのためにしてきたことが大好きです。彼らは素晴らしいツールを作り、最高のフレームワークと言語の1つを提供しています。とはいえ、Microsoft を憎むのが好きな人もいます。

  4. コストです。Microsoft ツールを無料または非常に安価に入手する良い方法がたくさんあります (Express エディションと Biz Spark)。それでも、Microsoft のツールで作業することに関連した高いコストがあります。私は、このコストはほとんどの場合において生産性の向上に見合うものだと考えていますが、すべての人が同意しているわけではありません。

上記に加え、スレッドモデルにより、IIS 上で長いポーリング要求をスケーリングできないという話がまだ残っています。これはある程度正しいのですが 良いコード設計 といくつかのサーバーの調整で、これらの問題をほとんど回避することができます。