私は現在node.jsを見ていて、パフォーマンスへの影響(私はスピードに夢中になっています)ですが、それほど深く掘り下げていません。
プロファイル、プロファイル、プロファイル。それはあなたのスピードアップが適切な影響を持っていることを知る唯一の方法です。あなたはそれが十分に速いと推測することができます。しかし、ほとんどの人は時期尚早に最適化することを好みます。それはデート中に自分で遊ぶよりも悪いです。
node.jsがC#とASP.NET MVCでの私の典型的なWeb開発を完全に置き換えることができるのか、C#とASP.NET MVCを補完するものとして優れているのか、または「十分に単独で残す」必要があるものがあるのかと思います。 」
C#およびnode.jsのユースケースはありますか?
もちろん、日常的にC#でコードを書く店にいる場合は、MVCを使用する必要があります(WebFormsよりもはるかに優れており、WebPagesと呼ばれます)。ツールのトレーニングに多くの時間を費やさず、ワークフローですでに処理されているはずです。
上記に示されていないように見えるのは、それぞれを選択する理由です。2つの現在の市場オプションを与えました。1つはまだアルファ段階で、もう1つはプラットフォームリリースの3年目です。現在のテストモデルの電気自動車を、すでに市場に出ているホンダハイブリッドと比較したくありません。彼らは2つの異なるリーグに属しています。
ここで、名目上C#ショップである場合に、node.jsに近づかない理由を説明します。
現在、非同期イベントI / Oで作業しておらず、現在手続き型フォーマットで作業しています。
これは、nodejsが何をするかとは正反対です。
ただし、C#で非同期コードを頻繁に作成し、イベントスタイルで頻繁に使用する場合は、はい、node.jsを強く検討してください。
ここにあなたが放棄するものがあります:
IIS-これは実際には多くの人にとって重要です。ネイティブA / D統合などはすでに行われており、バグはほとんどありません。実際、node.jsはIISとうまく統合されています。
- Razorテンプレート-深刻なC#MVCを実行したことがある場合、Razorを使用しており、Razorを愛しています。ノードには同様のテンプレートがあり、私は確かにノードをノックしていませんが、ツールチェーン全体はすでにC#に存在しており、その多くは現在ノードの世界で構築されています。注意:このツールの多くはかなり成熟しています _
- dllのコンパイル時の構築-node.jsは通常、オンザフライでコンパイルされます。つまり、起動時にすべてのパスがチェックされるわけではありません。誰も触れたり、チェックしたり、テストしたりしない非常に悪いコードをノードに置くことは完全に可能です。
- 毎日使用するVSに現在組み込まれているすべてのツール-JavaScriptに対するVSのサポートはそれほど多くありません。JavaScriptのすべてが非常に動的であるという理由もあります。注意:マイクロソフトは明らかにJavaScriptのツールサポートに取り組んでいます _
これはあなたが得るものです:
- クライアントサイドスクリプトとサーバーサイドの両方を実行する場合、開発するものはすべて同じ言語になります。(またはサーバーでjavascriptを検討する理由)
したがって、ここではNodeを完全にbashしているように見えるので、自宅でのノードは私のプレイ言語であることを指摘しておきます。私はそれが大好きで、stackoverflowチャットサーバー(部屋642)で時々デバッグする手助けをしています。将来的には途方もない可能性があると思います。
赤ちゃんを捨てないで、なぜ風呂の水が汚れているのか不思議に思います。
長年の経験をあきらめて、何か新しいことに取り掛かるべき理由を述べていません。どちらが悪いツールですか?どういたしまして。どちらも素晴らしく、開発も簡単です。
ノードはC#を置き換えることができますか?はい、確かに。PHPやJava、Rubyも同様です。あなたはそれらについて尋ねていません。
C#の代わりにnode.jsをプログラムする準備ができたことを確認する方法は次のとおりです。
- C#などで以前に作成した退屈な古いプログラムの代わりに、他の人々が「JavaScriptを入手する」のに役立つ本を書くことを検討しています。
- 同期(ブロッキング)I / Oでアプリが実際の作業を停止する問題が発生しています。
- デフォルトのMVC以外のC#のライブラリを使用しておらず、それをルーティングのためだけに使用していて、より優れたルーティングエンジンを実行できることを確信しており、できる限り金属に近いものすべてをコーディングしています。
- 設計するすべてのデータオブジェクトは、強く型付けされたオブジェクトではなく、ハッシュとして表示されます。