NodejsとSignalR:サーバー側のJavaScriptが必要な理由


90

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

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


27
ここには混乱があるようです。Node.jsは開発プラットフォームであり、SignalRはASP.NETのライブラリです。よりよい比較は、node.js + socket.ioとASP.NET + SignalRの比較です。この質問を明確にするために更新していただけませんか?
レゲッター2012年

6
正誤問題、SignalRは.NETのライブラリです。
davidfowl

回答:


107

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

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

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

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

  4. 費用。Microsoftツールを無料または非常に安価に入手するには、多くの優れた方法があります(ExpressエディションおよびBiz Spark)。Microsoftツールの操作に関連するコストはまだ高くなります。ほとんどの場合、このコストは生産性向上の価値があると思いますが、全員が同意するわけではありません。

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


6
私はHanselmanのブログエントリhanselman.com/blog/を読みました。ASP.NET/ SignalRチャットアプリケーションが数万または数十万のクライアントにサービスを提供できることは、本当に素晴らしいことです。私は彼らがどのようにそれを行うかを見るために深く掘り下げませんでしたが、それは「スケーラブルな」Nodejsがどのようにできるかとほぼ同じです
Quan Mai

7
ASP.NET MVCなどを使用している場合は、JavaScript、HTML、CSS、C#、およびVisual Studioを理解する必要があります。サーバーサイドでJavaScriptを使用すると、JavaScript、HTML、CSSに縮小できます。
DanielLidström2013年

4
asp.netと.netは一般に、実際にはMSのみのものではありません。IDEについては、sharpdevelopとmonodevelopを、代替の.netランタイムについてはmonoをチェックしてください。これはポイント3と4を取り出します。また、私は1つの言語のパラダイムというものを信じていません。始めたばかりでない限り、複数の言語を学ぶことは難しくありません。2に関しては、JSONから.netオブジェクトを作成することはそれほど難しくありません。また、SignalRをチェックアウトして、長いポーリングとリアルタイムの通信を交換してください
bbqchickenrobot 2013

7
@ruffrey言っていた?asp.net/open-source OWINを使用してSignalRをセルフホストすることもできます。
Timothy Strimple 2013

4
@cbmeeksジョブごとに異なるツール。Walmartが舞台裏でかなり深刻な(そして高価な)データベース設定をしていることを保証しますが、Node.jsでモバイルWebサイトを最適化することを妨げていません。Node.jsの展開に成功したすべての大企業に当てはまることでしょう。それらの多くはモンゴに保管されているものはないと思います。
Timothy Strimple 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.