Node.js をいつ使用するかをどのように決めるか? 質問する

Node.js をいつ使用するかをどのように決めるか? 質問する

私はこの種のことには不慣れですが、最近はNode.jsjQueryやJavaScript全般を扱うのが大好きな私としては、Node.jsをいつ使うべきかをどう判断したらよいか考えずにはいられません。私が考えているWebアプリケーションは次のようなものです。ビットリー- コンテンツを取得してアーカイブします。

ここ数日やってきた宿題から、以下の情報を得ました。Node.js

  • 通常のウェブサーバーとして実行でき、JavaScriptプログラムを実行できるコマンドラインツールです。
  • 素晴らしいV8 JavaScript エンジン
  • 同時に複数のことをする必要があるときに非常に便利です
  • イベントベースなので、素晴らしいアヤックス- のようなものはサーバー側で実行できます
  • ブラウザとバックエンド間でコードを共有できる
  • MySQLと話をしましょう

私が見つけた情報源のいくつかは次のとおりです。

Node.jsは、ほぼそのまま実行できることを考えると、AmazonのEC2たとえば、私は、どんな種類の問題にNode.jsが必要なのかを理解しようとしています。PHP のパイソンそしてルビー言語に関する専門知識によって大きく異なることは理解していますが、私の質問は、特定のフレームワークをいつ使用すべきか、またどのような種類の問題に特に適しているかという一般的なカテゴリに分類されます。

ベストアンサー1

Node.jsの素晴らしさをうまくまとめていますね。私の考えでは、Node.jsはブラウザからサーバーへの永続的な接続を維持したいアプリケーションに特に適しています。「ロングポーリング」リアルタイムでユーザーに更新情報を送信するアプリケーションを作成できます。多くのWebの巨人、例えばルビーオンレールまたはジャンゴは、アクティブなクライアントが1つのサーバープロセスを消費するため、サーバーに多大な負荷がかかります。この状況は、タールピット攻撃。Node.js のようなものを使用する場合、サーバーは開いている接続ごとに個別のスレッドを維持する必要がありません。

つまり、ブラウザベースのチャットアプリケーションNode.js では、非常に多くのクライアントにサービスを提供するためにシステム リソースをほとんど消費しません。このような長時間のポーリングを実行したいときはいつでも、Node.js は最適な選択肢です。

RubyとPythonには、このようなことを行うツールがあることは言及する価値がある(イベントマシンそしてねじれた、それぞれ) ですが、Node.js はそれを非常にうまく、しかも根本から実行します。JavaScript はコールバック ベースの並行性モデルに非常に適しており、この点で優れています。また、クライアントとサーバーの両方でネイティブの JSON を使用してシリアル化および逆シリアル化できるのも非常に便利です。

ここで他の回答を読むのを楽しみにしています。これは素晴らしい質問です。

Node.jsは、クライアント/サーバー間で大量のコードを再利用する状況にも最適であることも指摘しておく価値があります。Meteorフレームワークこれは非常に簡単になり、多くの人がこれが Web 開発の未来になるかもしれないと言っています。経験から言うと、Meteor でコードを書くのはとても楽しいです。その大きな理由は、データを再構築する方法を考える時間が減るため、ブラウザーで実行されるコードが簡単にデータを操作して返すことができることです。

Pyramid とロングポーリングに関する記事がこちらにあります。gevent のちょっとした助けを借りれば、セットアップが非常に簡単であることがわかります。三目並べとピラミッドを使ったロングポーリング

おすすめ記事