web-dev-qa-db-ja.com

node.jsとmongodbを含むWebサイト全体?

PHPとmySQLをバックエンドとして使用していくつかのWebサイトを構築しましたが、両方にかなり精通していると思います。しかし、新しいWebサイトの調査中に、node.jsとmongodbに出くわしました。 (そしてsocket.io、サイトにはチャットが含まれるため)。

Node.jsとmongodbを使用してチャットを実行することにしましたが、サイト全体をこれら2つのことで実行する必要があるかどうかわかりませんか?とにかくノードサーバーを実行するので、Webサイトをホストしている別の(別の)サーバーを実行する必要がありますか?それともそれは悪い考えですか? -安定していますか? PHPでプログラミングを実行しても、mongodbを使用できますが、ノードの方がはるかに高速ではないでしょうか?

そして別の質問:ページへのすべての投稿を処理するためにajaxを使用することを計画しました-しかし、私はすでにチャットにsocket.ioを使用しているので-それを使用してすべての投稿リクエストを行う必要がありますか? ajaxには、jQueryを使用する予定です(すべてのフロントエンドエフェクトにも)。

30
jack

これらの2つのことでサイト全体を実行する必要があるかどうかわかりませんか?

Node.jsを学びたいのなら、それをコーディングすることほど良いことはありません。

とにかくノードサーバーを実行するので、Webサイトをホストしている別の(別の)サーバーを実行する必要がありますか?

既存のサーバーを使用して、node.jsアプリを他の空きポート(o)で実行できます。学習ノードの場合、専用のマシンは必要ないと思います。

安定していますか?

Node.jsのバージョンでさえ安定したリリースですが、機能がフリーズした1.0がリリースされるまで、APIに重大な変更が加えられる可能性があります。

PHPでプログラミングを実行しても、mongodbを使用できますが、ノードの方がはるかに高速ではないでしょうか?

それはおそらく(そして間違いなく)そうするでしょう。

ページへのすべての投稿を処理するためにajaxを使用することを計画しましたが、チャットにはすでにsocket.ioを使用しているので、それを使用してすべての投稿リクエストを実行する必要がありますか?

古典的なものにsocket.ioを使用すると、多くの時間のかかるトラブルに巻き込まれる可能性があるため、MVCモデルに固執してExpressを使用することをお勧めします。 Socket.ioは、つまり、リアルタイム機能とそれに関連するもののためのものです。

15
yojimbo87

Node.jsにはすでにいくつかの堅固なWebフレームワークがあります。特に、 Express をチェックしてください。これは、node.jsWebサイトの構築から得られたいくつかの教訓と経験を概説した非常に優れた記事です。

Node.jsで実際のウェブサイトを構築するのはどのようなものですか

2番目の質問に関しては、jQueryでAJAXハンドラーとHTTPを使用するのがおそらく最善です。jQueryがraw TCPソケットを介したコールバックをサポートするかどうかはわかりません。

12
Chris Fulstow

node.js + express + jade + stylus + jQuery が私の好みの環境です。

forever を使用してサーバーを自動再起動する定期的にサーバーをクラッシュさせるバグがある場合でも、実際の稼働時間の問題は発生していません。

socket.io + jQuery に関しては、うまくいきますが、 express + jQueryほど自然ではありません) コンボ。私はほとんどのことについてajax呼び出しを行うことに固執します。

9
generalhenry

Node.JSはまだ少しワイルドウェストのようですが、改善されています。これは、phpでのコーディングとは非常に異なるモデルですが、多くのWebサイトに非常に適しています。相互作用をクリーンに保つために、BackBone.jsなどを使用して、より太いクライアントでシンサーバー(REST APIとWebSocketエンドポイントを公開))を実行することをお勧めします。

ノードですべてを実行することの大きな利点は、DBまたは両方に必要なその他のサービスを処理するためにphpとjsの間でコードが重複しないことです。 Node.JSは、大量の同時リクエストの処理にも優れています。

幸運を

3
Ben Hughes